zoukankan      html  css  js  c++  java
  • priority_queue优先队列中定义自己的比较算子

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 struct node{
     4     int x,y,z;
     5     node(int a,int b,int c):x(a),y(b),z(c){}
     6     bool operator < (const node &rhs) const{
     7         return x < rhs.x;//按照x来定义优先顺序 
     8     }
     9 };
    10 int main(){
    11     priority_queue<node> q;
    12     q.push(node(3,4,5));
    13     q.push(node(4,5,6));
    14     q.push(node(2,3,4));
    15     while(!q.empty()){
    16         node t = q.top();
    17         q.pop();
    18         cout << t.x << " " << t.y << " " << t.z << endl;
    19     }
    20     return 0;
    21 }
    22 /*
    23     > 
    24     结果:
    25         2 3 4
    26         3 4 5
    27         4 5 6
    28     <
    29     结果:
    30         4 5 6
    31         3 4 5
    32         2 3 4
    33     结论:
    34         priority_queue中重载运算符与sort中重载运算符刚好相反 
    35 */
  • 相关阅读:
    可执行
    创建
    可能的加分项
    给老师的建议
    周总结
    今日总结
    今日总结
    今日总结
    今日总结
    今日总结
  • 原文地址:https://www.cnblogs.com/zhangqiling/p/12535780.html
Copyright © 2011-2022 走看看