우선순위 큐(priority_queue) 최대 힙, 최소 힙 in C++ - (2)

Purple·2021년 10월 30일
0

1. 우선순위 큐를 이용한, 내림차순 출력(최대 힙)

#include <bits/stdc++.h>

using namespace std;

priority_queue<int> pQ;

int main() {
    pQ.push(2);
    pQ.push(6);
    pQ.push(5);
    pQ.push(1);
    pQ.push(4);
    pQ.push(3);

    for (int i = 1; i <= 6; i++) {
        cout << pQ.top() << " ";
        pQ.pop();
    }
    return 0;
}
  • C++ 에서는 최대힙이 디폴트 값이다. 따라서 추가적인 조치를 하지 않아도 내림차순으로 출력이 된다.

2. 우선순위 큐를 이용한, 오름차순 출력(최소 힙)

#include <bits/stdc++.h>

using namespace std;

priority_queue<int, vector<int>, greater<>> pQ;

int main() {
    pQ.push(2);
    pQ.push(6);
    pQ.push(5);
    pQ.push(1);
    pQ.push(4);
    pQ.push(3);

    for (int i = 1; i <= 6; i++) {
        cout << pQ.top() << " ";
        pQ.pop();
    }
    return 0;
}
  • priority_queue<int, vector<int>, greater<>> pQ; : 최소 힙을 사용하게 하여, 오름차순으로 출력되게 한다.
profile
안녕하세요.

0개의 댓글