#include <algorithm> #include <queue> using namespace std; struct Point{ int i, j; }; bool cmp(const int &a, const int &b){ if (a > b) return true; return false; } int main() { int a[5] = { 2,7,4,4,9 }; sort(a, a + 5); for (int i = 0; i < 5; i++) { printf("%d ", a[i]); // 2 4 4 7 9 } printf("\n"); sort(a, a + 5, cmp); for (int i = 0; i < 5; i++) { printf("%d ", a[i]);// 9 7 4 4 2 } printf("\n"); sort(a, a + 5, greater<int>()); // less for (int i = 0; i < 5; i++) { printf("%d ", a[i]);//9 7 4 4 2 } printf("\n"); priority_queue<int, vector<int>, greater<int>> pq; pq.push(1); pq.push(9); pq.push(5); int first = pq.top(); printf("%d", first); printf("\n"); return 0; }
struct compare{ bool operator()(pair<int, int>a, pair<int, int>b){ return a.second>b.second; } }; int main(){ priority_queue<pair<int, int>, vector<pair<int, int>>, compare>pq; pq.push({1, 10}); pq.push({2, 3}); pq.push({3, 1}); cout<<pq.top().first; // 출력 : 3 cout<<pq.top().second; // 출력 : 1 }
[참고자료]sort 방법
'풀이기록' 카테고리의 다른 글