[C++] priority_queue (오름차순/내림차순 큐)

Programming/C++_C#|2021. 8. 31. 12:45
반응형

안녕하세요.

playground입니다.

이번에 알아볼 내용은 오름차순과 내림차순을 제공해주는 큐에 대해서 알아보겠습니다.

 


  • Priority_Queue


Priority_Queue는 
오름차순과 내림차순과 같은 정렬 기능이 들어간 queue 입니다. 
아래와 같이 구성이 되어있습니다.

priority_queue<자료형, 구현체, 비교연산자> 


첫번째는 어떤 자료형을 쓸건지, 두번째는 어떤 구현체를 쓸건지, 세번째는
비교 연산자를 써주는데 비교연산자에는 less<자료형>과 greater<자료형>이 있습니다. 
less는 내린차순(큰값부터 낮은값), greater은 오름차순(낮은값부터 큰값) 출력됩니다.

코드를 통해 알아보겠습니다.

 

 


  • 코드

 

#include "stdafx.h"
#include <queue>
#include <cstdio>         // less
#include <functional>    // greater
#include <iostream>
using namespace std;
int main() 
{
 
    priority_queue<int, vector<int>, greater<int>> q1;
    priority_queue<int, vector<int>, less<int>>     q2;
 
    q1.push(3);
    q1.push(2);
    q1.push(7);
    q1.push(2);
    q1.push(5);
 
    q2.push(3);
    q2.push(2);
    q2.push(7);
    q2.push(2);
    q2.push(5);
 
    return 0;
}

 

 

p1 : 2 2 3 5 7

p2 : 7 5 3 2 2

 

 

 

반응형

댓글()