自定义优先级

#include<iostream>
#include<queue>
#include<string>
using namespace std;
struct Node
{
    string name;
    int score;
    bool operator<(const Node &a) const
    {
        return a.score<score;
    }
};
int main()
{
    priority_queue<Node> ss;
    Node node;
    node.name="aaa";
    node.score=90;
    ss.push(node);
    node.name="bbb";
    node.score=80;
    ss.push(node);
    while(ss.empty()!=true)
    {
        cout<<ss.top().name<<":"<<ss.top().score<<endl;
        ss.pop();
    }
}

从小到大

下面是从大到小

#include<iostream>
#include<set>
#include<string>
using namespace std;
struct Node
{
    string name;
    int score;
    bool operator<(const Node &a) const
    {
        return a.score<score;
    }
};
int main()
{
    set<Node> ss;
    Node node;
    node.name="aaa";
    node.score=90;
    ss.insert(node);
    node.name="bbb";
    node.score=80;
    ss.insert(node);
    set<Node>::iterator it;
    for(it=ss.begin();it!=ss.end();it++)
    {
        cout<<it->name<<":"<<it->score<<endl;
    }
}
原文地址:https://www.cnblogs.com/1114250779boke/p/2626540.html