vector向量容器中使用insert()方法,可以在vector对象的任意位置前插入一个新的元素,书上说,insert()方法要求插入的位置,是元素迭代器的位置,而不是元素的下标,刚开始不太明白什么意思,直到看了一个程序后才知道。
- #include<vector>
- #include<iostream>
- using namespace std;
- int main()
- {
- vector<int> v(3);
- v[0]=2;
- v[1]=7;
- v[2]=9;
- v.insert(v.begin(),8);//在最前面插入新元素。
- v.insert(v.begin()+2,1);//在迭代器中第二个元素前插入新元素
- v.insert(v.end(),3);//在向量末尾追加新元素。
- vector<int>::iterator it;
- for(it=v.begin(); it!=v.end();it++)
- {
- cout<<*it<<" ";
- }
- cout<<endl;
- }
运行结果:
可以看到,在最前面插入一个8后,向量中元素为:8 2 7 9.而第二次,在第二个元素前插入1的时候,此时的2指的是目前迭代器中的第二个(下标从0开始的,即此时第二个数为7).