STL系列之一 deque双向队列
来源:互联网 发布:淘宝卖家微淘怎么开通 编辑:程序博客网 时间:2024/06/10 21:38
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数:
deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存deque中的数据。因此deque在随机访问和遍历数据会比vector慢。具体的deque实现可以参考《STL源码剖析》,当然此书中使用的SGI STL与VS2008所使用的PJ STL的实现方法还是有区别的。下面给出了deque的结构图:
由于篇幅问题,deque的实现细节就不再深入了,下面给出deque的使用范例:
运行结果如下:
另外要注意一点。对于deque和vector来说,尽量少用erase(pos)和erase(beg,end)。因为这在中间删除数据后会导致后面的数据向前移动,从而使效率低下。
0 0
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列 .
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- 勾股定理一日一证连载68
- 我的VIM操作列表
- Yii 2.0 权威指南 (6) 请求处理
- Pro_4_UNIX下高效readline函数的实现_2016_08_10
- Android Hanlder处理
- STL系列之一 deque双向队列
- linux 通过哪个命令可以查看某个服务及其端口、进程号
- 王爽汇编语言课程设计1
- HIHO #1109 : 最小生成树三·堆优化的Prim算法
- 管理用户安全性-权限管理
- 算法(1)时间复杂度 和 空间复杂度
- Android Studio Tips(部分问题可能集成ionic才会出现)
- HIHO #1098 : 最小生成树二·Kruscal算法
- 电脑版微信怎么样取消截图的快捷键?