"우선 순위가 가장 높은 데이터를 가장 먼저 삭제 하는 자료구조"
" C++의 priority_queue의 경우 "최대 힙"으로 우선 순위가 구현되어 있습니다."
Element access | |
top | accesses the top element |
Capacity | |
empty | checks whether the underlying container is empty |
size | returns the number of elements |
Modifiers | |
push | inserts element and sorts the underlying container |
pop | removes the top element |
▲ 코드 예시
#include <queue>
#include <vector>
#include <iostream>
using namespace std;
template<typename T>
void print_queue(T q) { // NB: pass by value so the print uses a copy
while(!q.empty()) {
cout << q.top() << ' ';
q.pop();
}
cout << '\n';
}
int main() {
priority_queue<int> q;
const auto data = {1,8,5,6,3,4,0,9,7,2};
for(int n : data)
q.push(n);
print_queue(q);
// 출력 결과 : 9 8 7 6 5 4 3 2 1 0
priority_queue<int, vector<int>, greater<int>>q2(data.begin(), data.end());
print_queue(q2);
// greater<int> 사용 & 출력 결과 : 0 1 2 3 4 5 6 7 8 9
}
'OLD_알고리즘' 카테고리의 다른 글
String ] 알파벳 + 숫자 (0) | 2021.03.08 |
---|---|
Solving Skill ] 구현 (0) | 2021.03.07 |
STL ] Queue (0) | 2021.02.10 |
STL ] vector에서 iterator 사용 - 타 블로그 참고 (0) | 2021.02.03 |
C++ ] Hash - unordered_map (0) | 2021.01.22 |
댓글