핵심요약
- 한 공간에 2개의 값을 저장할 수 있게 해주는 클래스
- 2개의 값이 묶여서 이동하면 좋겠다고 생각할 때 사용하면 좋다.
헤더파일
#include <utility> //1번 방법
#include <vector> //2번 방법, vector 헤더파일 안에 유틸리티가 들어있다.
pair<자료형, 자료형> 변수명;
데이터 생성 및 참조
pair<int, int> p;
p = make_pair(data1, data2); // 첫 번째 방법
p = {data1, data2}; // 두 번째 방법
p.first //첫 번째 data값 = data1
p.second //두 번째 data값 = data2
정렬 관련 tip
#include <algorithm> //STL의 sort함수를 사용하기 위해
//first값을 기준으로 할 때
sort(vec.begin(), vec.end()); //vec이라는 자료구조의 정렬
//second값을 기준으로 할 때, 이 밖에도 cmp 함수를 수정하면 자신만의 방식으로 정렬이 가능하다.
bool cmp(pair<int, int> &a, pair<int, int> &b){
return a.second < b.second;
}
sort(vec.begind(), vec.end(), cmp); //vec이라는 자료구조를 cmp라는 비교함수에 따라 정렬
'Algorithm' 카테고리의 다른 글
[C++] 이분 탐색(Binary Search) - while문 (0) | 2023.09.30 |
---|---|
애드혹(AD-HOC) (0) | 2023.09.30 |
[C++] 데큐(DEQUE) (0) | 2023.09.30 |
[C++] 우선순위 큐(PRIORITY_QUEUE) (0) | 2023.09.30 |
[C++] 스택(STACK) (0) | 2023.09.30 |