STL三种序列式容器

vector,deque,list

vector

#include <vector>

vector提供多种构造函数:

vector<int> v1(3);
vector<int> v2(3,2);
vector<int> v3(v1.begin(),v1.begin()+2);
int src[] = {1,2,3,4,5,6};
vector<int> v4(src,src+sizeof(src)/sizeof(int));

很多构造函数类似v1.assign. assign为将assign(beg,end)这个区间拷贝给容器。或assign(n,elem)将n个elem拷贝给容器。

插入和删除
插入

insert三种不同的使用方式:

vector<int> v,v1;
vector<int>::iterator iter;
int a = 5;
iter = v.insert(v.begin(),a); //在v.begin()处插入a的拷贝,传回新数据位置
v1.insert(v1.begin(),v.begin(),v.end()); //在v1.begin()处插入参数2,3构成的区间,无返回值。
v1.insert(v1.begin(),5,3);  //在v1.begin()处插入5个3,无返回值。
删除

删除有两种方式

vector<int> v3(v1);
v3.erase(pos);  //删除pos位置的数据,返回下一个值的位置。
v3.erase(beg,end); //删除[beg,end)区间的数据,返回下一个值的位置。
其他
vector<int> v4;
v4.capacity(); //返回容器中数据个数。
v4.size();  //返回容器中实际数据个数。
v4.reserve(num); //改变容器容量。改变的是capacity的返回值。

v4.pop_back(); //删除容器中最后一个值。
v4.push_back(elem);//在尾部加一个数据。
v4.front;   //返回第一个数据
v4.back;    //返回最后一个数据不检查是否存在。
v4.swap(c1,c2);


copy(beg,end,wherebegin);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值