首页 > 代码库 > basic code-优先队列

basic code-优先队列

 1 //优先队列的使用
 2 #include <iostream>
 3 #include <functional>
 4 #include <queue>
 5 #include <vector>
 6 using namespace std;
 7 //定义结构,使用运算符重载,自定义优先级(1)
 8 struct cmp1{
 9     bool operator()(int &a,int &b){
10     return a>b;        // 最小值优先
11     }
12 };
13 struct cmp2{
14     bool operator ()(int &a,int &b){
15     return a<b;        //  最大值优先
16     }
17 };
18 // 定义结构,使用运算符重载,自定义优先级2
19 struct number1{
20 int x;
21 bool operator <(const number1 &a)const {
22 return x>a.x;        //  最小值优先
23     }
24 };
25 struct number2{
26     int x;
27     bool operator<(const number2 &a) const{
28     return x<a.x;    //   最大值优先
29     }
30 };
31 int a[]={14,10,56,7,83,22,36,91,3,47,72,0};
32 number1 num1[]={14,10,56,83,22,36,91,3,47,72,0};
33 number2 num2[]={14,10,56,7,83,22,36,91,3,47,72,0};
34 int main()
35 {    priority_queue<int>que;   //采用默认优先级结构队列
36 
37     priority_queue<int ,vector<int>,cmp>que1;  //最小值优先
38     priority_queue<int ,vector<int>,cmp>que2;  // 最大
39 
40     priority_queue<int ,greater<int>
41 
42     return 0;
43 }

 

basic code-优先队列