重载问题

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 /*
 4 bool cmp1(int x,int y)
 5 {
 6     return x<y;
 7 }
 8 struct Node
 9 {
10     int x,y;
11 }e[5];
12 bool cmp2(Node a,Node b){
13     if(a.x!=b.x) return a.x<b.x;
14 }
15 */
16 //int a[5];
17 struct Node{
18     int x,y;
19     Node(){}
20     Node (int x,int y):x(x),y(y){}
21     bool operator <(const Node &a) const{
22         return x>a.x;
23     }
24     /*
25     
26     1 3
27     2 2
28     3 1
29 
30 */
31 };
32 int  main()
33 {
34     /*
35     for(int i =0;i<=3;i++){
36         a[i] = 6-i;
37     }
38     sort(a,a+4,cmp1);
39     for(int i =0;i<4;i++){
40         printf("%d
",a[i]);
41     }
42     3
43     4
44     5
45     6
46 */
47 /*
48 
49 for(int i =0;i<3;i++){
50         scanf("%d%d",&e[i].x,&e[i].y);
51     }
52     sort(e,e+3,cmp2);
53     for(int i =0;i<3;i++){
54         printf("%d %d
",e[i].x,e[i].y);
55     }
56     3 6
57     2 4
58     1 0
59     __________
60     1 0
61     2 4
62     3 6
63     
64     */

#include <iostream>

#include <cstdio>

#include <cstring>

#include <algorithm>

#include <cmath>

#include  <map>

#include <utility>

#include <vector>

#include <queue>

using namespace std;

#define ll long long

#define P pair<ll,ll>

struct Node{

int x,y;

Node(){}

Node(int x,int y):x(x),y(y){}

bool operator < (const Node&a) const{

return  x<a.x;

}

}e[100];

int main()

{

/*

for(int i =0;i<3;i++){

e[i].x =i+1;

e[i].y=2*i;

}

sort(e,e+3);

for(int i =0;i<3;i++) printf("%d %d ",e[i].x,e[i].y);

1 0

2 2

3 4

*/

    priority_queue<Node>q;

    for(int i =0;i<3;i++){

        q.push(Node(3-i,i+1));

    }

    while(!q.empty()){

        Node u =q.top();

        q.pop();

        printf("%d %d ",u.x,u.y);

    }

/*

3 1

2 2

1 3

*/

return 0;

}

 
原文地址:https://www.cnblogs.com/tingtin/p/10673376.html