반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- priority_queue
- leetcode
- count
- Props
- server
- route
- UE5
- DP
- BinaryTree
- 비트연산
- c++
- queue
- routes
- MySQL
- state
- bit
- array
- css
- JSX
- node.js
- treenode
- event
- component
- Callback
- axios
- nodeJS
- Context
- map
- React
- Navigation
Archives
- Today
- Total
우사미 코딩
[C++] priority_queue 우선순위큐 본문
반응형
queue는 FIFO (First In First Out) 로 먼저 들어온 데이터가 우선적으로 삭제하는 자료구조이지만
priority_queue는 삽입된 순서와 관련없이 우선순위가 높은 데이터를 삭제하는 자료구조이다
오름차순, 내림차순 queue를 사용해야 할 때가 있는데 이때 priority queue를 사용한다.
priority_queue를 사용하려면 queue를 include 해야한다.
#include<queue>
1. 값이 높은 숫자가 우선적으로 삭제되는 queue
priority_queue<int, vector<int>, less<int>> lessQ;
lessQ.push(3);
lessQ.push(2);
lessQ.push(1);
lessQ.push(6);
lessQ.push(8);
lessQ.push(7);
lessQ.pop(); // 8삭제
lessQ.pop(); // 7삭제
cout << "print lessQ : ";
while (!lessQ.empty()) {
cout << lessQ.top() << " ";
lessQ.pop();
}
cout << endl;
출력값
print lessQ : 6 3 2 1
2. 값이 낮은 숫자가 우선적으로 삭제되는 queue
priority_queue<int, vector<int>, greater<int>> greaterQ;
greaterQ.push(3);
greaterQ.push(2);
greaterQ.push(1);
greaterQ.push(6);
greaterQ.push(8);
greaterQ.push(7);
greaterQ.pop(); // 1삭제
greaterQ.pop(); // 2삭제
cout << "print greaterQ : ";
while (!greaterQ.empty()) {
cout << greaterQ.top() << " ";
greaterQ.pop();
}
cout << endl;
출력값
print greaterQ : 3 6 7 8
반응형
'Programming (C++) > C++ 자료구조' 카테고리의 다른 글
[C++] string을 구성하는 알파벳의 개수를 배열로 저장하는 방법 (lowercase) (0) | 2023.04.17 |
---|---|
[C++] int to string, string to int (0) | 2023.04.16 |
[C++] char to int (char를 int로 변환하는 방법) (0) | 2023.04.16 |
[C++] 1차원, 2차원 vector 선언하기 + 초기값 설정 (0) | 2023.04.16 |
[C++] vector 정렬하기 (오름차순, 내림차순) - sort (0) | 2023.04.16 |
Comments