Priority Queue란?

사용법

#include <iostream>
#include <queue>
#include <functional>    // greater, less
using namespace std;
int main() {
    priority_queue<int> pq;  // - >  priority_queue<int, vector<int>, less<int>> pq;
		//큰 값이 top
    // 우선순위 큐에 원소를 삽입 (push) 한다 
    pq.push(4);
    pq.push(7);
    pq.push(3);
    pq.push(1);
    pq.push(10);
 
    cout << "우선순위 큐 사이즈 : " << pq.size() << "\\n";
    // 우선순위 큐가 비어 있지 않다면 while 문을 계속 실행
    while (!pq.empty()) {
        cout << pq.top() << '\\n';
        pq.pop();
    }
    return 0;
}

비교함수 지정하기

class cmp{
public:
bool operator()(vector<int> a, vector<int> b){
	return a[1]>b[1];
	}
};
//priority queue요소는 길이가 2인 벡터임
//벡터의 1번째 요소를 기준으로 정렬하기 위해 사용
int main(){
	priority_queue<vector<int>,vector<vector<int>>,cmp> pq;
}