우선순위 큐(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/
반응형
'CS > 자료구조' 카테고리의 다른 글
[자료구조] 그래프 (Graph) (0) | 2021.01.26 |
---|---|
[자료구조] 우선순위 큐 와 힙의 차이점 (0) | 2021.01.23 |
[자료구조] map 컨테이너_C++ (0) | 2021.01.23 |
[자료구조]이진 힙 (Binary Heap) (0) | 2021.01.12 |
[자료구조] 트리 (Tree) (0) | 2021.01.03 |