vector
vector是封装动态数组的顺序容器。元素相继存储,这意味着不仅可通过迭代器,还能用指向元素的常规指针访问元素。这意味着指向 vector 元素的指针能传递给任何期待指向数组元素的指针的函数。
构造函数
//空的vector容器
vector<int>v1;
//size为5,值的初始化为0的vector容器
vector<int>v2(5);
//size为5,值的初始化为1的vector容器
vector<int>v3(5, 1);
//创建vector时就初始化
vector<int>v4 = {
1,3,4,5,7 };
//利用别的vector创建初始化vector
vector<int>v5(v4);
//指定起始与结束内容创建与初始化
vector<int>v6(v4.begin()+3, v4.end());
迭代器iterator
begin() 返回第一个元素的迭代器
end() 返回最末元素的迭代器
rbegin() 返回Vector尾部的逆迭代器
rend() 返回Vector起始的逆迭代器
访问元素
v.at(i) //返回vector v指定位置的元素
v[i] //返回vector v指定位置的元素
v.back() //返回最末一个元素
v.front() //返回第一个元素
插入与删除元素
void push_back( const TYPE &val ); //在Vector最后添加一个元素
void pop_back(); //移除最后一个元素
iterator erase( iterator loc ); //删除指定loc元素
iterator erase( iterator start, iterator end ); //删除[start,end)元素
v.push_back(3); //vector最后添加元素3
v.pop_back(); //删除vector最后一个元素
v.erase(v.begin());//删除位置为begin的元素
v.erase(v.begin(),v.end());//删除区间[begin(),end())的元素
insert函数
//在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器,
iterator insert( iterator loc, const TYPE &val );
//在指定位置loc前插入num个值为val的元素
void insert( iterator loc, size_type num, const TYPE &val );
//在指定位置loc前插入区间[start, end)的所有元素
void insert( iterator loc, input_iterator start, input_iterator end );
v.insert(v.begin(),1);//在begin()位置插入元素1
v.insert(v.begin(),5,1);//在begin()位置插入5个值为1的元素
v.insert(v.begin(),v1.begin(),v1.end());//在begin()位置插入区间[v1.begin(),v1.end())的元素
deque
是有下标顺序容器,它允许在其首尾两段快速插入及删除。另外,在 deque 任一端插入或删除不会非法化指向其余元素的指针或引用。
构造函数
//无参,创建一个空双向队列
deque();
//size - 创建一个大小为size的双向队列
deque( size_type size );
//num and val - 放置num个val的拷贝到队列中
deque( size_type num, const TYPE &val );
//from - 从from创建一个内容一样的双向队列
deque( const deque &from );
//start 和 end - 创建一个队列,保存从start到end的元素
deque( input_iterator start, input_iterator end );
deque<int>d1;//空双向队列
deque<int>d2(5);//大小为5,值为0的双向队列
deque<int>d3(5,1);//大小为5,值为1的双向队列
deque<int>d4(d3);//创建一个与d3相同的双向队列
deque<int>d5

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



