STL——deque双端队列

特点:deque头部和尾部添加或删除元素比较方便

vector只能对尾部操作

基本操作:

deque<数据类型>q
deque<数据类型>q1(q2) //q1==q2

q.push_front(x); //在容器头部加入一个元素
q.push_back(x); //在容器尾部加入一个元素

q.pop_front(); //删除头部元素
q.pop_back(); //删除尾部元素

q.at(idx); //返回索引idx所指的数据,如果idx越界,抛出out_of_range
q[idx]; //返回索引idx所指的数据,如果idx越界,不抛出异常,直接出错。

q.front(); //返回第一个元素
q.back(); //返回最后一个元素

deque<数据类型>::iterator it;
q.begin(); 
q.end(); //正向迭代
q.rbegin(); 
q.rend(); //逆向迭代

q.insert(pos,x);   //在pos位置插入一个x元素,返回新数据的位置
q.insert(pos,n,x);   //在pos位置插入n个x,无返回值
q.insert(pos,beg,end);   //在pos位置插入[beg,end)区间的数据,无返回值。


q.clear(); //清空
q.erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
q.erase(pos);    //删除pos位置的数据,返回下一个数据的位置。 

q.size(); //返回元素的个数
q.empty(); //判断是否为空

发布了158 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44091178/article/details/104705675
今日推荐