#include<iostream>
#include<vector>
#include<queue>
using namespace std;
struct cmp{
bool operator () ( int r , int l ){
return r > l;
}
};
struct cmp1{
bool operator ()( int a ,int b ){
return a<b;
}
};
struct node{
int x;
node(int x){
this->x=x;
}
friend bool operator <(const node&a,const node&b){ //当返回值为true时,b优先级较高
if(mp[a.x]!=mp[b.x])
return mp[a.x]<mp[b.x]; //b.x的个数大于a.x的个数,b优先级高
return a.x>b.x; //b.x的值小于a.x的值,b的优先级高
}
};
int main(void){
// priority_queue< int > q;// 默认是 从大到小。
// priority_queue < int , vector<int> ,less<int> > q;//从大到小
// priority_queue < int , vector<int>, greater<int> > q; //从小到大
// priority_queue < int , vector<int> , cmp1 > q;//从大到小
// priority_queue < int , vector<int> , cmp > q;//从小到大
q.push( 1 );
q.push( 2 );
q.push( 3 );
while( !q.empty() ){
int t =q.top();
q.pop();
printf("%d ",t);
}
return 0;
}