Vector容器
1、初始化
vector<int> v1;//定义一个int类型的vector
vector<int> v2(3);//v2中有3个元素
vector<int> v3(3,9);//v3中有3个9
vector<int> v4{1,2,3,4};
v1=v3;
v2(v1.begin(),v1.begin()+2);
2、vector的基本操作
v1.push_back(1);//在v1的尾部插入一个数
v1.pop_back();//从v1的尾部删除一个数
v1.back();//返回尾部元素
v1.front();//返回头部元素
v1.front()=1;//使头部元素等于1,back()类似。
//vector的删除操作
//根据位置删除
vector<int>::iterator it;
v1.erase(v1.begin(),v1.begin()+3);//删除前三个元素,内存也删除,左闭右开区间
cout<<*v1.begin();
it=v1.erase(v1.begin()+2);//删除第3个元素,并返回下一个元素的位置
//根据元素的值来删除元素
for(vector<int>::iterator it=v1.begin();it!=v1.end();)
{
if(*it==6)
{
it=v1.erase(it);//删除一个元素后,it自动指向下一个元素的位置,并返回新的位置
}
else{
it++;
}
}
//插入
vector<int> v2(3,9);
v1.insert(v1.begin()+2,1);//在第三个位置插入1
v1.insert(v1.begin()+2,3,1);//在第三个位置插入3个1
v1.insert(v1.begin(),v2.begin(),v2.end());//在开始的位置插入一个区间的值,区间左开右闭
3、vector的遍历
//通过数组的方式遍历
for(int i=0;i<v1.size();++i)
cout<<v1[i];
//通过迭代器的方式访问
vector<int>::iterator it;
it=v1.begin();
for(it;it!=v1.end();it++)
cout<<*it;
//逆向迭代器,逆序访问
vector<int>::reverse_iterator it;
for(it=v1.rbegin();it!=v1.rend();it++)
{
cout<<*it<<endl;
}