경험의 기록

우선순위 큐(Priority Queue) 사용방법 (STL)

  • priority_queue<T, Container, Compare> :  Compare = greater(내림차순) less(오름차순-기본)
  • push(a) : 큐에 원소 추가
  • top() : greater라면 가장 큰 값, less라면 가장 작은 값 반환
  • pop() : top의 원소 삭제
  • empty() : 비어있으면 true 아니면 false
  • size() : 사이즈 반환

 

예시코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <queue>
using namespace std;
 
void HeapSort(int arr[], int MAX) {
    priority_queue<intvector<int>, greater<int>> a;
    // 오름차순으로 나타나게함
 
    for (int i = 0; i < MAX; i++) {
        a.push(arr[i]);
    }
 
    for (int i = 0; i < MAX; i++) {
        arr[i] = a.top();
        a.pop();
    }
}
 
 
int main() {
    int MAX = 5;
    int* arr = new int[MAX] { 13245 };
 
    HeapSort(arr, MAX);
 
    for (int i = 0; i < 5; i++) {
        cout << arr[i] << endl;
    }
 
}
 
cs
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading