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() 清空双端队列