자료구조: priority_queue

연산

#include <queue>

// 초기화 2가지
// 1. vector에서 복사
// 내림차순 정렬이 기본 정렬
vector<int> vec{1, 2, 3, 4, 5}
priority_queue<int> pq1(vec.begin(), vec.end());
print(pq1); // 5 4 3 2 1 (기본: 내림차순)

// 2. 내림차순 / 오름차순 정렬
// <자료형, vector<자료형>, greater/less<자료형>>
priority_queue<int, vector<int>, greater<int>> pq2;

시간복잡도

  • push(): O(logN)
  • pop(): O(logN)
  • top(): O(1)
  • order: O(logN)

참고

알고리즘: 프로그래머스: 라면공장