반응형
첫번째 원소가 기준에 따라 가장 큰 컨테이너 어댑터
힙과 유사
원소가 빠져나갈 때, top(back)에서부터 pop
멤버함수
생성
#include <iostream>
#include <queue>
using namespace std;
class cmp{
bool reverse;
public:
cmp(const bool& rev = false){
reverse = rev;
}
bool operator()(const int& lhs, const int&rhs){
if(reverse)
return (lhs > rhs);
else
return (lhs < rhs);
}
};
int main(void){
int arr[] = {1, 3, 2, 4};
priority_queue<int> pq1;
priority_queue<int> pq2(arr, arr+4);
// 4 3 2 1
priority_queue<int, vector<int>, greater<int> > pq3(arr, arr+4);
// 1 2 3 4
priority_queue<int, vector<int>, cmp > pq4(arr, arr+4);
// 4 3 2 1
priority_queue<int, vector<int>, cmp > pq5(arr, arr+4, cmp(true));
// 1 2 3 4
}
멤버함수
- empty()
- size()
- top()
- push()
- pop()
- emplace() * C++11
- swap() * C++11
#include <iostream>
#include <queue>
using namespace std;
int main(void){
priority_queue<int> pq;
for(int i = 1; i < 10; ++i)
pq.push(i);
cout << pq.size() << '\n';
// 9
while(!pq.empty()){
cout << pq.top() << ' ';
pq.pop();
}
cout << '\n';
// 9 8 7 6 5 4 3 2 1
}
반응형
'C++' 카테고리의 다른 글
[C++] STL - queue (0) | 2020.12.21 |
---|---|
[C++] 반복자 (0) | 2020.12.01 |
[C++] string library (0) | 2020.11.27 |
[C++] cout 부동소수점 다루기 (0) | 2020.11.20 |
[C++] STL - deque (0) | 2020.11.13 |