핵심 요약
- 우선 순위에 따라 정렬된 queue이다.
- heap으로 구현되어 있어, 특정 원소를 push할 때 생기는 정렬의 시간 복잡도는 logN에 실현된다.
헤더파일 및 선언
#include <queue> //<priority_queue>라는 헤더파일을 따로 사용하지 않는다.
priority_queue<자료형, Container, 비교함수> 변수명; //선언한 자료형 변수들을 비교함수에 따라 정렬.
priority_queue<int, vector<int>, greater<int>> pq; //올림차순, 가장 앞에 제일 작은 수가 오게된다.
priority_queue<int> pq; //내림차순, 가장 앞에 제일 큰 수가 오게된다.
관련 함수(삽입, 삭제 등)
priority_queue<int> pq;
pq.push(변수); //변수를 넣는다.
pq.pop(); //맨 앞의 원소를 제거.
pq.top(); //맨 앞의 원소를 반환.
pq.empty(); //비어있을 경우 true, 원소가 하나라도 있을경우 false를 리턴한다.
pq.size(); //크기를 리턴한다.