一、Vector容器概念
vector是将元素置于一个动态数组中加以管理的容器。
vector可以随机存取元素支持索引值直接存取,用]操作符或at()方法对元素进行操作
二、Vector的用法
(1)头文件#include.
(2)创建vector对象,vector v1;
(3)尾部插入数字:v1.push_back(a);
代码如下:
void demo2()
{
//vector对象的默认构造
vector<int> v1;
//vector <float>v2;
cout << "v1的元素个数:" << v1.size() << endl;
cout << "v1容器的大小:" << v1.capacity() << endl;
v1.push_back(1);
cout << "尾部插入1个元素后:" << endl;
cout << "v1的元素个数:" << v1.size() << endl;
cout << "v1容器的大小:" << v1.capacity() << endl;
//当我们使用vector 的默认构造函数时,不能直接通过下标去访问
//v1[0] = 1;
v1.push_back(2);
v1.push_back(3);
v1.push_back(4);
v1.push_back(5);
cout << "尾部插入5个元素后:" << endl;
cout << "v1的元素个数:" << v1.size() << endl;
cout << "v1容器的大小:" << v1.capacity() << endl;
}
运行结果为:
(4)使用下标访问元素,cout<<v1[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
{
cout<<*it<<endl;
}
(6)插入元素: v1.insert(v1.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: v1.erase(v1.begin()+2);删除第3个元素
v1.erase(v1.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:v1.size();
(9)清空:v1.clear();
(10)vector带参构造函数
vector<int>v2(10,666);
(11)交换函数
vector<int> v1 = vector<int>(1, 10); //v1 = [10]
vector<int> v2 = vector<int>(1, 55); //v2 = [55]
//void swap(vector&): 交换两个同类型向量的数据
v1.swap(v2); //v1 = [55], v2 = [10]
三 、vector数据存取
1.at(int idx); //返回索引idx所指的数据
2.operator[]; //返回[]内索引所指的数据
3.front(); //返回容器中第一个元素
4.back(); //返回容器中最后一个元素