deque

 

 

参考资料

  [1]:http://www.cplusplus.com/reference/deque/deque/

 

自学笔记

  1.deque是双端队列,本文章主要介绍一下其内部的一些函数;

  2.deque需要头文件<queue> 或 <deque>;

  3.定义一个双端队列,并定义他的迭代器以及反向迭代器:

deque<int >q ;
deque<int > :: iterator it=q.begin();
deque<int >:: reverse_iterator revIt = q.rbegin();//反向迭代器,只能赋值为 rbegin() 或 rend()

不同的定义方式

deque<int >q(10) ; //定义一个包含10个值为0的双端队列
deque<int >q(5,10) ; //定义一个包含5个值为10的双端队列

•常用操作

q.begin() 返回队头元素的迭代器
q.end()  返回队尾元素的迭代器
q.front() 返回队头元素
q.back() 返回队尾元素
q.push_front() 从队头插入元素
q.push_back() 从队尾插入元素
q.pop_front() 删除队头元素
q.pop_back() 删除队尾元素
q.size() 返回当前队列中的元素个数
q.empty() 判断队列是否为空
q.insert(it,a) 在it位置插入元素a(it:迭代器)
q.insert(it,a,b) 从it位置开始依次插入a个b元素(it:迭代器)
q.erase(it) 删除it迭代器指向的元素
q.erase(it,it+3) 删除从it开始的连续的三个元素
q.swap(p) 交换双端队列p和q
q.clear() 清空双端队列

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-03-11 11:45  HHHyacinth  阅读(190)  评论(0编辑  收藏  举报