C++ STL queue容器适配器究竟是如何实现高效队列操作的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1670个文字,预计阅读时间需要7分钟。
和stack栈容器适配器不同,queue队列容器适配器有2个开口,其中一个是专门用来输入数据,另一个是专门用来输出数据,如图1所示。图1 queue容器适配器这种存储结构最大的特点是,最后进入的数据是最先被取出的,即遵循先进先出的原则。
和 stack 栈容器适配器不同,queue 容器适配器有 2 个开口,其中一个开口专门用来输入数据,另一个专门用来输出数据,如图 1 所示。图 1 queue容器适配器
这种存储结构最大的特点是,最先进入 queue 的元素,也可以最先从 queue 中出来,即用此容器适配器存储数据具有“先进先出(简称 "FIFO" )”的特点,因此 queue 又称为队列适配器。
其实,STL queue 容器适配器模拟的就是队列这种存储结构,因此对于任何需要用队列进行处理的序列来说,使用 queue 容器适配器都是好的选择。
queue容器适配器的创建
queue 容器适配器以模板类 queue<T,Container=deque<T>>(其中 T 为存储元素的类型,Container 表示底层容器的类型)的形式位于<queue>头文件中,并定义在 std 命名空间里。因此,在创建该容器之前,程序中应包含以下 2 行代码:#include <queue> using namespace std; 创建 queue 容器适配器的方式大致可分为以下几种。
本文共计1670个文字,预计阅读时间需要7分钟。
和stack栈容器适配器不同,queue队列容器适配器有2个开口,其中一个是专门用来输入数据,另一个是专门用来输出数据,如图1所示。图1 queue容器适配器这种存储结构最大的特点是,最后进入的数据是最先被取出的,即遵循先进先出的原则。
和 stack 栈容器适配器不同,queue 容器适配器有 2 个开口,其中一个开口专门用来输入数据,另一个专门用来输出数据,如图 1 所示。图 1 queue容器适配器
这种存储结构最大的特点是,最先进入 queue 的元素,也可以最先从 queue 中出来,即用此容器适配器存储数据具有“先进先出(简称 "FIFO" )”的特点,因此 queue 又称为队列适配器。
其实,STL queue 容器适配器模拟的就是队列这种存储结构,因此对于任何需要用队列进行处理的序列来说,使用 queue 容器适配器都是好的选择。
queue容器适配器的创建
queue 容器适配器以模板类 queue<T,Container=deque<T>>(其中 T 为存储元素的类型,Container 表示底层容器的类型)的形式位于<queue>头文件中,并定义在 std 命名空间里。因此,在创建该容器之前,程序中应包含以下 2 行代码:#include <queue> using namespace std; 创建 queue 容器适配器的方式大致可分为以下几种。

