CS/자료구조

[자료구조] priority_queue 컨테이너_C++

lingk 2022. 5. 10. 19:41

우선순위 큐(priority_queue)

: 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다.

우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다.

 

priority_queue 컨테이너

#include <queue>
templete <class T, class Container = vector<T>, class Compare = less<typename Container::value_type>> class priority_queue

 

 

🌀 설명

C++ STL에 포함되어 있는 맵를 표현하는 컨테이너.

 

🌀 인자

T: 자료형

Container: 구현체

Compare: 비교 연산자

 

🌀 선언 및 초기화 예시

//
std::priority_queue<int> mypq;

//가장 작은 값이 우선순위가 되는 큐
std::priority_queue<int, vector<int>, greater<int>> mypq;

 

🌀 멤버함수

std::priority_queue<int> mypq;

// container가 비어있는지 확인
// container의 사이즈가 0이면 true, 그외에는 false
// bool empty() const;
mypq.empty();

// size 반환
// size_type size();
mypq.size();

// top element 접근
// const value_type& top() const;
mypq.top();

// element 추가
//void push(const value_type& val);
mypq.push(30);

// top element 제거
// void pop();
mypq.pop();

// swap contents
// void swap(priority_queue x) noexcept
std::priority_queue<int> foo,bar;
foo.swap(bar);

https://www.cplusplus.com/reference/queue/priority_queue/

 

priority_queue - C++ Reference

container_typeThe second template parameter (Container)Type of the underlying container

www.cplusplus.com

 

반응형