vector容器可以使用insert在特定的位置扩展新的元素,当且仅当新的vector大小超过当前vector容量时,会导致分配的存储空间自动重新分配。
容器采用数组作为底层存储,所以在vector末端以外的位置插入元素回导致容器将位置之后的元素重新定位到新位置,这样会导致比较低效相比较list和forward_list。
insert要求插入的位置,是元素迭代器的位置。不是元素的下标。
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 vector<int> v(3); 7 v[0]=1; 8 v[1]=2; 9 v[2]=3; 10 11 v.insert(v.begin(),4);//在最前面插入新元素。4123 12 v.insert(v.begin()+1,5);//在迭代器第一个元素1前插入新元素45123 13 v.insert(v.begin()+2,6);//在迭代器中第二个元素1前插入新元素456123 14 15 vector<int>::iterator it; 16 17 for(it=v.begin(); it!=v.end();it++) 18 { 19 cout<<*it<<" "; 20 } 21 cout<<endl; 22 }