优先队列知识点(带结构体排列方式)

本文介绍了C++中的优先队列,强调了其默认排序规则是从大到小,并提供了如何自定义排序规则以实现从小到大的示例。在处理结构体时,优先队列的排序行为可能与预期相反,文章通过代码实例展示了这一特性。
摘要由CSDN通过智能技术生成

记住优先队列都是反着来的

  • priority_queue q;
    默认为由大到小 (与sort默认由小到大相反)

  • priority_queue<int, std::vector, std::greater > q;
    由小到大排序

/* 
	*
	将 1-9 压入队列中
	1. std::priority_queue<int> q;  -> 从大到小排列
	2. std::priority_queue<int, std::vector<int>, std::greater<int> > q2; ->从小到大 
	3.用 lambda 比较元素。//没理解 

*/
#include <functional>
#include <queue>
#include <vector>
#include <iostream>
//using namespace std;
template<typename T> void print_queue(T& q) {
   
    while(!q.empty()) {
   
        std::cout << q.top() << " ";
        q.pop();
    }
    std::cout << '\n';
}
 
int main() {
   
    std::priority_queue<int> q;
 
    for(int n : {
   1,8,5,6,3,4,0,9,7,2})
        q.push(n)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值