目录

打印

创建

状态

插入和删除

尾部元素的插入和删除

迭代器


打印

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");