开发手册 欢迎您!
软件开发者资料库

C ++库 -<queue>

C ++&lt;queue&gt;库 - 从基本概念到高级概念,从简单而简单的步骤学习C ++算法库,其中包括C ++标准库和标准模板库(STL),涵盖所有内置类和函数。所有C ++容器,算法,函数,类,常量和头文件都使用非常容易理解的示例进行了详细解释,fstream,iomanip,ios,iosfwd,iostream,istream,ostream,sstream,streambuf,atomic,complex,exception ,功能,限制,区域设置,内存,新,数字,正则表达式,stdexcept,字符串,线程,元组,typeinfo,实用程序,valarray,数组,bitset,deque,转发列表,列表,地图,队列,设置,堆栈,无序地图,无序集,向量,算法,迭代器。

队列简介

队列是一种设计用于在FIFO(先进先出)环境中运行的数据结构.在队列元素中从后面结束插入并从前面结束删除.

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

定义

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

template  > class queue;


参数

  • T : 包含的元素的类型.

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

  • 容器 : 基础容器对象的类型.

成员类型

以下成员类型可用作参数或按成员函数返回类型.

Sr .No.会员类型定义
1value_typeT(模板的第一个参数)
2container_type模板的第二个参数
3size_typesize_t
4referencevalue_type&
5const_referenceconst value_type&
6不同ence_typeptrdiff_t

来自< queue>

的函数

以下是< queue>中所有方法的列表标题.

构造函数

Sr.No.方法&说明
1queue::queue  默认构造函数

构造一个零元素的空队列对象.

2queue :: queue  初始化构造函数

构造一个队列对象,并通过 ctnr 的副本分配内部容器.

3queue :: queue   move constructor

使用move语义构造包含其他内容的队列.

4queue::queue  复制缺点tructor

构造一个队列,其中包含现有队列中存在的每个元素的副本 other .

析构函数

Sr.No.Method&说明
1queue:::queue

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

成员函数

Sr.No.方法&说明
1queue::back

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

2queue :: \\ templates

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

3queue :: empty

测试队列是否为空.

4queue :: front

返回对队列的第一个元素.

5queue :: operator =  复制版本

通过替换旧内容将新内容分配给队列.

6queue :: operator =  移动版本

通过替换旧内容将新内容分配给队列.

7queue::pop  

删除队列的前面元素.

8queue :: push   copy version

在队列末尾插入新元素.

9queue :: push   move version

插入新的e在队列结束时释放.

10queue :: size

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

11queue :: swap

使用另一个队列的内容交换队列内容.

会员重载函数

Sr.No.Method&说明
1operator==

测试两个队列是否相等.

2operator!=

测试两个队列是否相等.

3operator<

测试第一个队列是否小于其他队列.

4operator< =

测试第一个队列是否小于或等于其他与否.

5operator>

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

6operator> =

测试第一个队列是否大于或等于其他队列.

7swap

交换两个队列的内容.

简介priority_queue

优先级队列是保持优先级的队列数据结构.优先级队列类似于堆数据结构,其中元素可以按任何顺序插入,并且始终首先检索 max heap 元素.

定义

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

template ,class Compare = less < class priority_queue;


参数

  • T : 包含的元素的类型.

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

  • 容器 : 基础容器对象的类型.

  • 比较 : 用于对priority_queue进行排序的比较对象.

    这可能是一个函数指针或函数对象,可以比较它的两个参数.

成员类型

以下成员类型可以用作参数或按成员函数返回类型.

Sr.No.会员类型定义
1value_typeT(模板的第一个参数)
2container_type第二个参数模板
3size_typesize_t
4referencevalue_type&
5const _referenceconst value_type&
6difference_typeptrdiff_t

< queue>

以下是< queue>中所有方法的列表标题.

构造函数

Sr.No.方法&说明
1priority_queue::priority_queue  默认构造函数

构造一个零元素的空priority_queue.

2priority_queue :: priority_queue   initialize constructor

构造一个priority_queue对象,并通过 ctnr 的副本分配内部容器.

3priority_queue :: priority_queue  范围构造函数

构造一个priority_queue,其中包含从头到尾范围内的任意数量的元素.

4priority_queue :: priority_queue   move constructor

使用move语义构造priority_queue和其他内容.

5priority_queue::priority_queue  复制构造函数

构造一个priority_queue,其中包含现有priority_queue other中存在的每个元素的副本.

析构函数

Sr.No.Method&说明
1priority_queue:::priority_queue

通过解除分配容器内存来销毁priority_queue.

成员函数

Sr.No.方法&说明
1priority_queue::emplace

在priority_queue中按排序顺序构造并插入新元素.

2priority_queue :: empty

测试pritority_queue是否为空.

3priority_queue :: operator =  复制版本

通过更换旧内容为priority_queue分配新内容.

4priority_queue :: operator =  移动版

通过替换旧内容为priority_queue分配新内容.

5priority_queue :: pop

删除前面的元素priority_queue.

6priority_queue :: push   copy version

按排序顺序插入新元素.

7pityity_queue::push  移动版本

按排序顺序插入新元素.

8priority_queue :: size

返回t中存在的元素总数他是priority_queue.

9priority_queue :: swap

将priority_queue的内容与另一个priority_queue的内容进行交换.

10priority_queue :: top

返回对priority_queue的第一个元素的引用

会员重载函数

Sr.No.Method&说明
1wap

使用另一个priority_queue的内容交换priority_queue的内容.


t>LA.init({ id: "Jzndc69N7BtnPgpT", ck: "Jzndc69N7BtnPgpT" }) "Jzndc69N7BtnPgpT", ck: "Jzndc69N7BtnPgpT" }) 69N7BtnPgpT", ck: "Jzndc69N7BtnPgpT" })