언어 공부/C++

priority queue 사용법 정리

수기 2022. 5. 28. 18:50

priority queue 사용법 정리

 

pair 1개 사용하기

priority_queue<pair<int, int>> pq;

 

pair 2개 사용하기

priority_queue<pair<int, pair<int,int>>> pq;

 

 

오름차순 정렬

priority_queue<pair<int, pair<int,int>>, vector<pair<int, pair<int,int>>>, greater<pair<int,pair<int,int>>>> pq;

내림차순 정렬

priority_queue<pair<int, pair<int,int>>, vector<pair<int, pair<int,int>>>, less<pair<int,pair<int,int>>>> pq;

greater, less 대신 사용자 지정 compare 적용하려면 아래처럼 하면 된다.

pair 1개의 경우

struct compare {
	bool operator()(pair<int, int>a, pair<int, int> b) {
		return a.second > b.second;
	}
};

 

pair 2개의 경우

struct compare {
	bool operator()(pair<pair<int, int>,int>a, pair<pair<int, int>,int>b) {
		return a.second > b.second;
	}
};

 

 

priority queue 문제 -> 백준 1753번: 최단경로

2022.05.28 - [코딩테스트 연습/Baekjoon] - [Baekjoon] 백준 1753번: 최단경로 (c++)