STL之priority_queue(优先队列)

本文介绍了C++ STL中的优先队列(priority_queue)使用,包括如何构造、析构以及如何根据需求改变其内部的排列顺序。当需要处理最小值时,可以通过重载小于运算符来实现。同时,给出了一个使用自定义结构体并带有比较函数的优先队列示例,该示例模拟了排队过程,依据优先级和姓名进行排序。
摘要由CSDN通过智能技术生成
  • 构造,析构
priority_queue() //默认构造函数,生成一个空的排序队列  

priority_queue(const queue&);  //拷贝构造函数  

priority_queue(const Compare& comp);
//构造生成一个空的priority_queue对象,
//使用comp作为priority_queue的comparison  

priority_queue(const value_type* first, const value_type* last); 
//带有两个参数的构造函数,  
//使用默认的Comparison作为第三个参数  

priority_queue& operator=(const priority_queue &);   
//赋值运算符重载  

c.~priority_queue() //销毁所有元素并释放内存  
  • ### 常用函数###
empty();//判断是否为空  

push(Elem e);//队列尾部增加一元素  

pop();//队列头部数据出队  

top();//返回头部数据  

size();//返回栈中元素个数 
  • ### 改变排列顺序###

priority_queue < Type, Container, Functional >
如果我们把后面俩个参数缺省的话,优先队列就是大顶堆,
队头元素最大。在很多时候,我们需要的不一定是最大值,
也有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值