自定义优先级
#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; } }