[pair]

먼저 기능들은 헤더 < utility > 에 정의되어 있다. 서로 연관 있는 2 종류의 데이터 끼리 묶을 때 사용하는 pair 이다.

make_pair(first,second)를 이용하여 데이터를 저장하고.
pair.first, pair.second 인덱스에 접근한다.

vector를 이용해 pair 를 사용하는 예제이다 + 정렬(sort)

#include<iostream>
#include<utility>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;

int main(void){
    vector<pair<int, string> > v;

    v.push_back(pair<int, string>(3, "Dok2"));    
    v.push_back(pair<int, string>(6, "DMask"));    
    v.push_back(pair<int, string>(1, "Tiger JK"));    
    v.push_back(pair<int, string>(4, "Block"));    
    v.push_back(pair<int, string>(2, "banana"));    
    v.push_back(pair<int, string>(2, "apple"));    

    cout << "=== After sort === " << endl;

    vector<pair<int, string> >::iterator iter;
    for(iter = v.begin(); iter != v.end(); iter++){
        cout << "[" << iter->first << "," << iter->second << "]" << endl;
    }

    cout << endl;
    sort(v.begin(), v.end());
    cout << "=== After sort === " << endl;

    for(iter = v.begin(); iter != v.end(); iter++){
        cout << "[" << iter->first << "," << iter->second << "]" << endl;
    }
    return 0;    
}

결과

=== After sort ===
[3,Dok2]
[6,DMask]
[1,Tiger JK]
[4,Block]
[2,banana]
[2,apple]

=== After sort ===
[1,Tiger JK]
[2,apple]
[2,banana]
[3,Dok2]
[4,Block]
[6,DMask]

자세한 내용은 아래의 레퍼런스 참조 하세용
click reference site

Comments