📌 priority_queue란
: 우선순위 큐
- queue의 한 종류로 우선 순위에 따라 정렬된 queue.
- 어떤 원소가 push되면 우선순위에 맞춰 정렬되고, pop되면 정렬된 queue의 앞 원소가 삭제.
- 자료구조 Heap으로 구현되었기 때문에 특정 원소를 push해 생기는 정렬 과정은 O(log N) 만에 이루어짐.
📌 priority_queue 사용법
- #include 필요
- 선언: priority_queue<자료형, container, 오름/내림차순> 변수명
default는 내림차순
priority_queue<int> pq // 내림차순
priority_queue<int, vector<int>, greater<int>> pq // 오름차순
- 삽입
push(element) ➡ EX. pq.push(2);
- 삭제
pop() ➡ EX. pq.pop();
- 맨 앞 원소를 반환
top() ➡ EX. pq.top();
- priority_queue가 비어있으면 true, 아니면 false 반환
empty() ➡ EX. pq.empty();
- 크기를 반환
size() ➡ EX. pq.size();