오늘의 인기 글
최근 글
최근 댓글
Today
Total
11-25 04:00
관리 메뉴

우노

[C++] Priority Queue 개념과 사용법 본문

Language/C++

[C++] Priority Queue 개념과 사용법

운호(Noah) 2021. 12. 7. 13:53

Priority Queue (우선순위 큐) 란?

  • Queue 에 요소 삽입 시, 우선순위에 따라 내부적으로 요소들이 정렬 되는 자료구조이며,
  • Heap 으로 구현 되어있습니다.

Priority Queue 주요 기능

  • 생성

      #include <iostream>
      #include <queue>
      using namespace std;
    
      int main(){
              // 가장 작은 값이 우선순위가 되는 큐 (오름차순)
              priority_queue<int, vector<int>, greater<int> > pq_less;
              // 가장 큰 값이 우선순위가 되는 큐 (내림차순)
              priority_queue<int, vector<int>, less<int> > pq_greater;
      }
  • 삽입

      pq_less.push(0);
      pq_less.push(10);
      pq_less.push(5);
      pq_less.push(20);
    
      pq_greater.push(0);
      pq_greater.push(10);
      pq_greater.push(5);
      pq_greater.push(20);
  • 우선순위가 가장 높은 요소 반환

      cout << pq_less.top() << endl;
      cout << pq_greater.top() << endl;
  • 우선순위가 가장 높은 요소 제거

      pq_greater.pop();
      pq_less.pop();
    
      cout << pq_less.top() << endl;
      cout << pq_greater.top() << endl;
  • 크기

      cout << pq_less.size() << endl;
      cout << pq_greater.size() << endl;

'Language > C++' 카테고리의 다른 글

[C++] Set 사용법  (0) 2022.04.25
[C++] String 공백 분리  (0) 2022.04.25
[C++] Vector 사용법  (0) 2021.07.18
[C++] Vector Sort 방법  (0) 2021.07.18
[C++] 2차원 배열 초기화  (0) 2021.07.14
Comments