priority_queue 优先队列

仔细的弄懂了一下,优先队列的情况

 1 #include <iostream>
 2 #include <queue>
 3 using namespace std;
 4 
 5 struct Node
 6 {
 7     int x;
 8     bool operator <(const Node& b)const{
 9         return x<b.x;
10     }
11     bool operator >(const Node& b)const{
12         return x>b.x;
13     }
14 };
15 
16 int main()
17 {
18     // 其余的也就这么改就行了
19     priority_queue<Node> Q1; // 结构体默认排序,权大先的出队
20     priority_queue<Node ,vector<Node> ,greater<Node> > Q2; // 再定义出队顺序,权小的先出队
21 
22     for (int i=1;i<=10;i++)
23     Q2.push((Node){i});
24     while (!Q2.empty())
25     {
26         int x = Q2.top().x; Q2.pop(); // Q.size() 队列长度
27         cout <<x<<' ';
28     }
29     return 0;
30 }
View Code
原文地址:https://www.cnblogs.com/haoabcd2010/p/6884465.html