C++ 库 - <queue>



队列简介

队列是一种数据结构,设计用于在 FIFO(先进先出)上下文中操作。在队列中,元素从后端插入,并从前端移除。

队列类是容器适配器。容器是保存相同类型数据的对象。队列可以从不同的序列容器创建。容器适配器不支持迭代器,因此我们不能使用它们进行数据操作。但是,它们支持push()pop()成员函数分别用于数据插入和删除。

定义

以下是来自 <queue> 头文件的 std::queue 的定义

template <class T, class Container = deque<T> > class queue;

参数

  • T - 包含的元素类型。

    T 可以被任何其他数据类型替换,包括用户定义类型。

  • Container - 底层容器对象的类型。

成员类型

以下成员类型可以用作成员函数的参数或返回类型。

序号 成员类型 定义
1 value_type T(模板的第一个参数)
2 container_type 模板的第二个参数
3 size_type size_t
4 reference value_type&
5 const_reference const value_type&
6 difference_type ptrdiff_t

来自 <queue> 的函数

以下是来自 <queue> 头文件的所有方法列表。

构造函数

序号 方法 & 描述
1 queue::queue

构造一个空队列对象,其中包含零个元素。

析构函数

序号 方法 & 描述
1 queue::~queue

通过释放容器内存来销毁队列。

成员函数

序号 方法 & 描述
1 queue::back

返回对队列的最后一个元素的引用。

2 queue::emplace

在队列的末尾构造并插入新元素。

3 queue::empty

测试队列是否为空。

4 queue::front

返回对队列第一个元素的引用。

5 queue::operator=

通过替换旧内容为队列分配新内容。

6 queue::pop

移除队列的第一个元素。

7 queue::push

在队列的末尾插入新元素。

8 queue::size

返回队列中存在的元素总数。

9 queue::swap

交换队列的内容与另一个队列的内容。

非成员重载函数

序号 方法 & 描述
1 operator==

测试两个队列是否相等。

2 operator!=

测试两个队列是否相等。

3 operator<

测试第一个队列是否小于另一个队列。

4 operator<=

测试第一个队列是否小于或等于另一个队列。

5 operator>

测试第一个队列是否大于另一个队列。

6 operator>=

测试第一个队列是否大于或等于另一个队列。

广告