目录
打印
int print(vector<int>v){
for(int i=0;i<v.size();i++)
printf("%d ",v[i]);
printf("\n");
return 0;
}
创建
int ma[]={1,2,3,4,5};
vector<int>v1;//
vector<int>v2(ma,ma+5);//1,2,3,4,5
vector<int>v3(5,2);//2,2,2,2,2
vector<int>v4(v2);//1,2,3,4,5
vector<int>v5(v2.begin(),v2.end()-1);//1,2,3,4
状态
printf("%d %d",v2.size(),v2.empty())
插入和删除
//元素的添加和删除
v2.insert(v2.begin()+3,9);//1,2,3,9,4,5
v2.insert(v2.begin(),3,7);//7,7,7,1,2,3,9,4,5
v2.insert(v2.begin(),ma,ma+2);//1,2,7,7,7,1,2,3,9,4,5
v2.erase(v2.begin()+1);//1,7,7,7,1,2,3,9,4,5
v2.erase(v2.end()-3,v2.end()-1);//1,7,7,7,1,2,3,5
v2.clear()//
尾部元素的插入和删除
print(v5);
v5.pop_back();//1,2,3
v5.push_back(9);//1,2,3,9
print(v5);
return 0;
注意:pop_back()的返回值是void.
迭代器
vector<int>v(ma,ma+5);
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++){
printf("%d ",*it);
}
printf("\n");
上述代码也可以等价地写成:
for(int i=0;i<v.size();i++){
printf("%d ",v[i]);
}
printf("\n");