C++ vector<pair<int,int>> 독립 정렬

Sung_1·2023년 8월 1일
0

C++

목록 보기
1/2

key는 내림차순으로, value는 오름차순으로 정렬하고 싶을 때 사용가능한 코드이다.

#include<iostream>
#include<vector>
using namespace std;
struct Compare{
    bool operator()(pair<int,int>a,pair<int,int>b){
        if(a.first==b.first)
            return a.second<b.second;
        return a.first>b.first;
    }
};
int main(){
    vector<pair<int,int>> m{
            {1, 9},
            {1, 8},
            {1, 4},
            {8, 3},
            {8, 9},
            {4, 3},
            {4, 9},
            {1, 5}
    };
    sort(m.begin(),m.end(),Compare());
    for(auto e: m){
        cout<<"{ "<<e.first<<", "<<e.second<<"}\n";
    }
 }
/*
 * expected output
 * 1. order first of each element in descending order,
 * 2. order second of each element in ascending order.
 { 8, 3}
 { 8, 9}
 { 4, 3}
 { 4, 9}
 { 1, 4}
 { 1, 5}
 { 1, 8}
 { 1, 9}
 */

재밌당

profile
@student

2개의 댓글

comment-user-thumbnail
2023년 8월 1일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

1개의 답글