自定义优先级

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

 

 

 

 

posted on 2012-08-07 13:17  仁者无敌8勇者无惧  阅读(234)  评论(0编辑  收藏  举报

导航