이스트버드 2020. 3. 8. 22:35
반응형

1. Pair

first, second 두 개의 변수쌍을 저장할 수 있는 struct. 2차원 배열에서 index를 수행하거나 좌표평면의 좌표, Graph에서 정점과 정점 간의 최단거리를 묶어서 저장해야 하는 경우 자주 사용된다.

기본적으로 utility 헤더 파일 (#include<utility>)를 포함하며 다른 STL 컨테이너 들에 비해 비교적 간단한 구조이므로 멤버 함수가 적다.

...
#include<utility>
...

int main(){
	
    int t, buf1, buf2;
    cin >> t;
    
    pair<int,int> p;
    
    ...
    
    pair<int,int> p1 = make_pair(1, 2); // 1, 2
    
    ...
    
    vector<pair <int, int>> v;
    
    for (int i = 0; i < t; i++){
    	cin >> buf1 >> buf2;
    	v.push_back({buf1, buf2});
    }
    
    vector<pair<int, int>>::iterator it;
    
	for (it = grade.begin(); it !=grade.end(); it++) {
		cout << it->first << " " << it-> second << endl;

	}
    
    ...
    
    return 0;
}

 

위와 같은 코드를 실행했을 때 예상되는 결과물은 다음과 같다.

//Input
3
1 3
2 2
4 6

//Output
1 3
2 2
4 6

2. Vector

 

반응형