본문 바로가기
C_C++ 프로그래밍/C_C++ 프로그래밍

[C++] pair sort

by RoJae 2019. 3. 21.


C++의 STL에서 vector 사용시, pair container와 함께 쓰이고는 하는데,

이때, x좌표 오름차순 혹은 y좌표 오름차순으로 나타내고자 할때, sort의 세번째 인자로

사용자 함수 bool compare를 작성하여, 사용하기도 한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
#include<vector>
#include<algorithm>
 
using namespace std;
 
bool sortbyfirst(const pair<int,int> &a, const pair<int,int> &b) { 
    return (a.first < b.first); 
 
int main(){
    int n;
    cin >> n;            // 입력 횟수 
    vector<pair<intint> >v;
    
    while(n--){
        int x,y;
        cin >> x >> y;
        v.push_back(make_pair(x,y));    
    }
    
    sort(v.begin(), v.end(), sortbyfirst);
    
    for(int i = 0; i < v.size(); i++){
        cout << v[i].first << ' ' << v[i].second << '\n';
    }
    
    return 0;
}
cs



※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다.

반응형

댓글