vector是一个动态数组
在尾部插入或删除较快
vector vec;
vectorvec2(100);//提前给它10个空间
T可以是类对象也可以是基本数据类型
通过数组的方式访问和改变数组
for(int i=0;i<vec.size();i++)
{
vec[i]=0;//必须提前给好空间
}
vec.push_back(10);//在容器最后插入10
vec.pop_back();//删除文件尾部
vec.front()//获取头部
修改头部尾部
vec.front()=10;
vec.back()=200;
删除
vec.clear();删除所有数据
vec->erase(t->begin(), t->begin() + 3);//使用迭代器删除从第0个位置到第三个位置
vec->erase(t->begin()+3);//删除第三个位置的值
//需要注意的是,当使用二胺所无删除是,迭代器指针地址会自动加1
插入
vec.insert(0,1);//在0位置插入一个1的数组,并返回新数据的位置
vec.insert(0,2,3);//在0位置插入2个值为3的数据
vector::itertor it=vec.begin();
vec.insert(0,vec.begin(),it+5);//在0位置插入vec的0到5位置的数据的数据段
deque是双端动态数组
dequedl;
在两端插入和删除较快
主要方法:
pop_back();//(删除)弹出尾部元素
pop_front();//(删除)弹出头部元素
pop_back();//尾部添加
pop_front();//头部添加
//查找下标
deque::iterator it=find(dl.begin(),dl.end(),33);//查找值为33的迭代器位置
//显示下标位置
cout<<distance(dl.begin(),it);