-
[우선순위 큐] priority_queue 사용자 정의 함수공부/C++ 2023. 12. 27. 19:47
- 우선순위 큐에서 cmp 구조체에서 operator() 연산자 오버로딩을 통해 사용가능하다.
* 반환 값이 true 이면, swap 한다.
#include <iostream> #include <string> #include <vector> #include <stack> #include <queue> #include <map> #include <algorithm> #include <list> #include <cmath> using namespace std; int N; typedef struct yx { int y; int x; } yx; struct cmp { bool operator()(yx a, yx b) { if (a.y == b.y) { return a.x > b.x; } else { return a.y > b.y; } } }; priority_queue<yx, vector<yx>, cmp> q; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N; int x, y; for (int i = 0; i < N; ++i) { cin >> x >> y; q.push({ y, x }); } while (!q.empty()) { cout << q.top().x << " " << q.top().y << "\n"; q.pop(); } return 0; }
'공부 > C++' 카테고리의 다른 글
memset 함수 (0) 2024.01.25 [Error] LNK2005 이미 정의되어 있습니다 (0) 2023.11.29 temp (0) 2023.10.25 [C++] 콘솔창 키입력 메뉴이동 ConsoleHandle (0) 2023.07.19 __restrict (0) 2023.07.14