vector是表示可变大小数组的序列容器。vector是向量类型,可以容纳许多类型的数据,因此也被称为容器。
//构造一个空的容器,没有元素。(无参构造)
// <>内可以是任何类型
vectora();
//构造并初始化n个val
//定义具有10个整型元素的向量,且给出的每个元素初值为5
vectora(10, 5);
//拷贝构造
//用向量b给向量a赋值,a的值完全等价于b的值
vectora(b);
//将b中从0-4(共5个)的元素赋值给a
vectora(b.begin(),b.begin+5);
vectorv(5, 6);
//获取第一个数的位置
v.begin();
//获取最后一个数的位置
v.end();
//获取v数据的个数
v.size();
//获取v容量的大小
v.capacity();
//判断v是否为空
v.empty();
//改变vector的size
//将v的现有元素个数调整至10个,多则删,少则补,其值随机
v.resize(10);
//将v的现有元素个数调整至10个,多则删,少则补,其值为3
v.resize(10, 3);
//改变vector的capacity,将v的容量扩充至100
v.reserve(100);
//尾删
v.pop_back();
//尾插一个数,值为5
v.push_back(5);
//查找(注意这个是算法模块实现,不是vector的成员接口)
//在 v.begin()到v.end()范围中查找3
vector::iterator it = find(v.begin(), v.end(), 3);
//在pos前插入元素,例如头插2
v.insert(v.begin(), 2);
//删除pos位置的数据,例如头删
v.erase(v.begin());
vectora(10,6);
for(int i = 0;i <= a.size() - 1;++i)
{
cout << a[i] << endl;
}
vector::iterator it = a.begin();
while (it != a.end())
{
cout << *it << " ";
++it;
}
cout << endl;
for (auto ch : a)
{
cout << ch << " ";
}
cout << endl;
1.遍历添加元素
注意:下标只能用来获取已经存在的元素
vectora;
for(int i = 0;i < 100;++i)
{
a.push_back(i);
}
2.从数组中选择元素向向量中添加
int arr[]={1,2,3,4,5,6,7,8,9,10};
vector a;
for(int i = 0;i <= 6; ++i)
{
a.push_back(arr[i]);
}
3.从现有向量中选择元素向向量中添加
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
vectora;
vectorb(arr + 2, arr + 6);
vector::iterator it = b.begin();
while (it != b.end())
{
a.push_back(*it);
it++;
}