栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++stack容器和优先队列priority

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++stack容器和优先队列priority

stack容器本质上是一个栈,栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。栈是一种先进后出的数据结构。
empty()函数:检测栈是否为空。
push()函数:向栈顶插入一个元素
top()函数:返回栈顶元素
size()函数:返回栈的大小
pop函数():从栈顶移除第一个元素

构造函数:
stack stk;//stack采用模板类实现,stack对象默认构造形式。
stack(const stack &stk);//拷贝构造函数
stack& operator=(const stack & stk);//重载等号操作符



C++优先队列priority_queue用法
他和queue的不同在于我们可以自定义其中数据的优先级,让优先级高的排在队列前面,优先出队。优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。
数据类型定义:
priority_queue
Type是数据类型,Container就是容器类型(Container必须是用数组实现的容器,比如vetor,deque等等,不能用list.STL里面默认用的是vector),Functional就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。
 

//升序队列
priority_queue,greater> deq;
对于基本数据类型:
priority_queue deq;//默认降序队列
//降序队列
priority_queue,less> deq;



自定义类型排序:


 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037430.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号