首页 > 其他 > 详细

STL之容器适配器(stack,queue)

时间:2021-04-08 01:07:57      阅读:21      评论:0      收藏:0      [点我收藏+]

适配器

  举个例子,以插座为例。插座的线插头是两口的,但是经过转换后插板却可以提供给你两口或者三口的接口。这个插座就可以称为插口适配器。
今天学习的stack,queue,priority_queue 都是基于STL现有容器衍生出来的“另一种风貌”,它们都不提供迭代器,不允许自身遍历行为
技术分享图片

stack

  • 栈中存储的元素满足“后进先出(简称LIFO)”的准则,
  • 底层默认采用 deque 基础容器的 stack 适配器。满足条件的基础容器有 vector、deque、list
    技术分享图片

技术分享图片

queue

  • queue容器适配器存储数据具有“先进先出(简称 "FIFO" )”的特点
  • queue 容器适配器底层容器可以选择 deque(STL默认实现) 和 list。手动指定 std::queue<int, std::list> values;
  • 可以用基础容器来初始化 queue 容器适配器,只要该容器类型和 queue 底层使用的基础容器类型相同即可
    技术分享图片

priority_queue

  • 底层采用默认的 vector 容器,排序方式也采用默认的 std::less 方法。满足条件的基础容器有vector、deque。
  • 优先级队列之所以总能保证优先级最高的元素位于队头,最重要的原因是其底层采用堆数据结构(完全二叉树)存储结构
    技术分享图片

STL之容器适配器(stack,queue)

原文:https://www.cnblogs.com/ming-fei/p/14630211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!