STL适配器
来源:互联网 发布:阳光房顶棚防水 知乎 编辑:程序博客网 时间:2024/05/16 12:11
容器适配器
特点
用某种顺序容器来实现(让已有的顺序容器以栈/队列的方式工作)
分类
1) stack: 头文件 <stack> • 栈 -- 后进先出
2) queue: 头文件 <queue> • 队列 -- 先进先出
3) priority_queue: 头文件 <queue> • 优先级队列 -- 最高优先级元素总是第一个出列
注:容器适配器上没有迭代器
STL中各种排序, 查找, 变序等算法都不适合容器适配器
Stack
1.stack 是后进先出的数据结构
2.只能插入, 删除, 访问栈顶的元素
3.可用 vector, list, deque来实现
• 缺省情况下, 用deque实现
• 用 vector和deque实现, 比用list实现性能好
queue
1.可以用 list和deque实现,缺省情况下用deque实现。 它存储的容器对象为它来实现所有的功能。
2.它只允许在表的前端(front)进行删除操作,而在表的后端(back)进行插入操作。
3.先进先出,最先插入的元素将是最先被删除;反之最后插入的元素将最后被删除。
priority_queue
priority_dueue也限制了被控序列的存取,但它还有着一些额外的要求。它实质上也是一个队列,不过这个队列以一
个 谓词 来检测它里面哪个元素拥有最高的优先级。该模板类可以确保每次通过top,从它里面所取得的元素都是剩下
元素中优先级最高的那个。为了做到这一点,在每次通过push向它里面加入元素时,它所控制的整个序列都会在必要
时被重排。更确切的讲,它把被控序列当做一个堆来维护,使用了一些算法。
1.可以用vector和deque实现,缺省情况下用vector实现
2.priority_queue 通常用堆排序技术实现, 保证最大的元素总是在最前面
• 执行pop操作时, 删除的是最大的元素
• 执行top操作时, 返回的是最大元素的引用
3.默认的元素比较器是 less<T>
更详细见: http://blog.csdn.net/feitianxuxue/article/details/7250633
- STL 适配器
- STL 适配器
- STL 适配器
- stl -- 适配器
- STL适配器
- STL 适配器实现
- STL中的适配器
- (转)STL中的适配器
- STL容器适配器
- STL中的适配器
- STL容器适配器:stack
- STL容器适配器:queue
- STL容器适配器:priority_queue
- C++ STL 容器适配器
- STL 容器适配器
- STL 函数适配器
- C++ STL 容器适配器
- C++ STL 容器适配器
- [LeetCode
- window.open 和 window.showModelDialog弹出窗口
- 信息安全铁人三项比赛答案
- 解决stm32进入HardFault_Handler的定位办法
- POJ 1379 Run Away 笔记
- STL适配器
- 一个ios斗鱼app教程(链接)
- java.lang.IllegalArgumentException: Too many bind arguments. 1 arguments were provided but the stat
- Cortex-M3/4的Hard Fault调试方法
- tomcat上传文件照片和读取照片的路径需要相同。
- 线性回归与梯度下降
- TCP相关面试题总结
- CRF++ 运行与安装
- 如何理解TensorFlow中的Graph