博主日常学习随笔:引用请标明出处,侵权必究
/*创建vector对象的三种方法:
(1)vector<int>v;不指定容器的元素个数
(2)vector<double>v(10);指定一个10个double类型的类型元素
(3)vector<double>v(10,8.6);共有十个元素,都为8.6;
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>v;
v.push_back(2);
v.push_back(7);
v.push_back(9); //用下标方式 访问vector元素 cout<<v[0]<<" "<<v[1]<<" "<<v[2]<<endl;
v.insert(v.begin(),8);//在最前面插入新元素8, 结果: 8 2 7 9
v.insert(v.begin()+2,1);//在第二个新元素前插入新元素1 结果8 2 1 7 9
v.insert(v.end(),3);//在末尾追加新元素3,结果 8 2 1 7 9 3
vector<int>::iterator it;//用迭代器的方式访问vector元素
for(it=v.begin();it!=v.end();it++)//输出迭代器上的元素值
cout<<*it<<" ";
return 0;
}
/*insert()方法可以在vector对象的任意位置前插入一个新的元素,同时,vector自动扩张一个元素空间,插入位置后的所有元素
向后挪动一个位置。 注意:insert()方法要求插入的是元素迭代器的位置 而不是下标*/
/*erase()方法可以删除vector中迭代器中所指的任一个元素或者一段区域中的所有元素。
clear()方法则一次性删除所有元素*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>v(10);
for(int i=0;i<10;i++)
v[i]=i;
//v.erase(v.begin()+2);//删除第二个元素 结果:0 1 3 4 5 6 7 8 9
v.erase(v.begin()+1,v.begin()+5);//结果: 0 5 6 7 8 9
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
v.clear();
cout<<v.size()<<endl;
return 0;
}