C++ 优先队列类实现

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <vector>
 4 #include <algorithm>
 5 #include <cstring>
 6 #include <queue>
 7 using namespace std;
 8 
 9 int a[10000],b[10000];
10 class t
11 {
12 public:
13     int x, y;
14     bool operator<(const t& p) const {
15         return x>p.x;
16     }
17     t(int a, int b):x(a),y(b){}
18     t(){}
19 };
20 
21 priority_queue<t> Q;
22 
23 int main(){
24     int n;
25     scanf("%d",&n);
26     for (int i=1;i<=n;i++) scanf("%d",&a[i]);
27     for (int i=1;i<=n;i++) scanf("%d",&b[i]);
28     for (int i=1;i<=n;i++) Q.push(t(a[i],b[i]));
29     while (!Q.empty()){
30         t p=Q.top();
31         Q.pop();
32         printf("%d %d\n",p.x,p.y);
33     }
34 }

 

posted @ 2015-06-26 16:43  rpSebastian  阅读(250)  评论(0)    收藏  举报