C++ - vector of pairs / vector of vectors

2022. 8. 9. 23:27STUDY/C++

반응형

1. vector of pairs

vector 와 pair를 섞어 쓰는 방법이다. 

연습이 필요하다 ㅠㅅㅜ 단순하게 생각하면서 익히자...! 

// C++ program to demonstrate vector of pairs ! 
#include <iostream>
#include <vector>
using namespace std;

bool sortbysecond(const pair<int,int> &a, const pair<int, int> &b) {
    return (a.second < b.second);
}

int main() {
    vector<pair<int, int> > vec;

    int arr[] = {10,20,5,40};
    int arr1[] = {30,60,20,50};
    int n = sizeof(arr)/sizeof(arr[0]);

    for(int i =0; i < n; i++) {
        // assign values using pair
        vec.push_back(make_pair(arr[i], arr1[i]));
    }

    cout << " The vector before sort operation is : \n";
    for(int i =0; i < n; i++) {
        cout << vec[i].first << ","
            << vec[i].second << '\n';
    }

    // typically sorting
    //sort(vec.begin(), vec.end());
    sort(vec.begin(), vec.end(), sortbysecond);
    
    cout << " The vector after sort operation is : \n";
    // 'first' value is the base
    for(int i = 0; i < n; i++) {
        cout << vec[i].first << ","
            << vec[i].second << '\n';
    }
    
    return 0;
}

 

* vector<pair<int , int > > vec; -> pair를 이용한 vector의 정의 ! 

* 삽입 :  vec.push_back(make_pair(x,y));

* sort by second . sorting할때 기준을 꼭 first 원소로 할 필요 없다. second 로 따로 잡을 수 있다. 

* 배열 사이즈 : 토탈 배열 사이즈 / 0번째 원소 값 ( sizeof(arr) / sizeof(arr[0]) )

 

2.  vector of vectors ( 2 dementional )

 

 

728x90
반응형