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 }