结构体重载<运算符+优先队列

2018-05-05  本文已影响0人  laochonger
#include<iostream>
#include<queue>
using namespace std;

struct Item{
    int q,p,t;
    //重要!优先级比较函数,优先级高的先出队
    Item(int q=0, int p=0, int t=0):q(q),p(p),t(t) {}
    bool operator < (const Item &a) const{
        return a.t<t||(t==a.t && a.q < q);
    }
};

priority_queue<Item>s;

int main(){
    for(int i = 1; i <= 5; i++){
        int a,b,c;
        scanf("%d%d%d", &a,&b,&c);
        Item item(a,b,c);
        s.push(item);
    }
    for(int i = 1; i <= 5; i++){
        Item v = s.top();
        printf("%d %d %d \n", v.q,v.p,v.t);
        s.pop();
    }
    
    return 0;
} 
上一篇 下一篇

猜你喜欢

热点阅读