zoukankan      html  css  js  c++  java
  • 优先队列的使用方法

    //优先队列:个位数大的整数优先级小
    //分析:优先级  个位数大 < 个位数小
    priority_queue<int,vector<int>,cmp> 
    struct cmp{
        bool operator()(const int a,const int b)const{
            return a%10>b%10;
        }
    };
    //效果相同,都是数字大的优先级高
    priority_queue<int>;
    priority_queue<int,vector<int>,less<int> >;
    //数字小的优先级高 
    priority_queue<int,vector<int>,greater<int> >; 
    结构体优先级设置
    方法一: 
    struct fruit {
        string name;
        int price;
        //价格高的优先级高 
        friend bool operator<(fruit f1,fruit f2)
        {
            return f1.price<f2.price; 
        }
    }; 
    或者
    struct fruit{
        string name;
        int price;
        //价格低的优先级高 
        friend bool operator<(const fruit& f1,const fruit& f2)
        {
            return f1.price>f2.price;
        }
    }; 
    方法二:
    struct fruit{
        string name;
        int price;
    }; 
    struct cmp{
        //价格高的优先级高 
        bool operator()(fruit f1,fruit f2)
        {
            return f1.price < f2.price;
        }
    };
    或者
    struct fruit{
        string name;
        int price;
    }; 
    struct cmp{
        bool operator()(const fruit& f1,const fruit& f2)
        {
            return f1.price < f2.price;
        }
    };

    注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    优先队列的本质是堆!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 相关阅读:
    nyoj--325--zb的生日(简单dp)
    nyoj--124--中位数(水题)
    nyoj--90--整数划分(母函数)
    nyoj--18--The Triangle(dp水题)
    CodeForces ---596B--Wilbur and Array(贪心模拟)
    nyoj--1023--还是回文(动态规划)
    poj--3984--迷宫问题(bfs+路径记录)
    Netty(4)Stream by codec(粘包与拆包)
    Netty(1-1)Discard
    Netty:option和childOption参数设置说明
  • 原文地址:https://www.cnblogs.com/zuimeiyujianni/p/9032962.html
Copyright © 2011-2022 走看看