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;
        }
    };

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

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

  • 相关阅读:
    hihocoder #1407 : 后缀数组二·重复旋律2
    后缀数组基本问题QAQ
    hihocoder #1403 : 后缀数组一·重复旋律
    20170116小测233
    HDU 4779:Tower Defense
    BZOJ 2563: 阿狸和桃子的游戏
    Codeforces 460D. Little Victor and Set
    Codeforces 297C. Splitting the Uniqueness
    BZOJ 2565: 最长双回文串
    Manacher--雾窗寒对遥天暮,暮天遥对寒窗雾
  • 原文地址:https://www.cnblogs.com/zuimeiyujianni/p/9032962.html
Copyright © 2011-2022 走看看