서로 다른 2개의 연관된 데이터를 하나의 데이터로 묶어서 관리할 수 있게 해주는 STL.
data1 | data2 |
---|
한 pair가 저렇게 생겼다.
다양한 방면에서 사용할 수 있다. 대표적으론 다음과 같다.
- 인덱스와 그 인덱스에 해당하는 데이터를 따로 저장해야 할 경우
- 좌표를 저장해야 할 경우
- 키 값과, 비교해야하는 값(우선순위가 있는 값) 쌍일 경우 등
사용 방법
헤더 파일
<utility>
라는 헤더 파일에 있는데, 사실 이 헤더 파일은 <vector>
혹은, <algorithm>
에 포함되어 있다.
#include <utility>
#include <vector>
#include <algorithm>
3 가지 헤더 파일 중 하나라도 있으면 사용이 가능하다.
선언
pair<type1, type2> p;
type1, type2에는 저장할 데이터의 자료형을 적어주면 된다.
둘이 같아도 무방하다.
메소드
p는 pair 변수라 가정한다.
- p.first // 첫 번째 페이 데이터에 접근
- p.second // 두 번째 페어 데이터에 접근
- make_pair
활용 예
pair는 다른 STL들이나, 인자 등으로 활용이 가능하다.
queue<pair<int, int>> Q;
...
Q.push({0, 0});
...
pair<int, int> cur = Q.front();
int compare(pair<int, int> n1, pair<int, int> n2) {
...
}
'Some Practices > 바킹독 실전 알고리즘 강좌 수강' 카테고리의 다른 글
Deque STL (0) | 2024.07.18 |
---|---|
Queue STL (0) | 2024.07.17 |
Stack STL (0) | 2024.07.17 |
List STL (0) | 2024.07.11 |
실수 자료형의 주의점 (0) | 2024.07.11 |