C++STL優先佇列
阿新 • • 發佈:2018-12-20
#include<stdio.h> #include<queue> #include<vector> using namespace std; //過載運算子(),自定義優先順序1 struct cmp1{ bool operator ()(int &a,int &b){ return a>b;//最小值優先 } }; struct cmp2{ bool operator ()(int &a,int &b){ return a<b;//最大值優先 } }; //過載運算子<,自定義優先順序2 struct number1{ int x; bool operator < (const number1 &a) const { return x>a.x;//最小值優先 } }; struct number2{ int x; bool operator < (const number2 &a) const { return x<a.x;//最大值優先 } }; int main() { priority_queue<int>que;//預設認優先順序,從小到大 priority_queue<int,vector<int>,cmp1>que1;//最小值優先 priority_queue<int,vector<int>,cmp2>que2;//最大值優先 priority_queue<number1>que3; // 最小值優先 priority_queue<number2>que4; //最大值優先 return 0; }