pair

JeongChaeJin·2021년 2월 24일
0

cpp_STL

목록 보기
5/6

pair

  • 두 객체를 하나의 객체로 취급할 수 있게 묶어주는 클래스이다.
  • STL 에서 데이터 쌍을 표현할 때 사용한다.
  • utility 헤더에 존재한다.
  • template <class T1, class T2> strcut pair;
  • template <tpename T1, typename T2> struct pair;
    • T1 : first
    • T2 : second
  • pair<type1, type2> p
    • 사용할 데이터 타입을 설정해주고 그 타입의 pair를 생성한다.
  • p.first : p의 첫번째 인자 반환
  • p.second : p의 두번째 인자 반환
  • make_piar(변수1, 변수2) : 선언한 type과 동일한 변수를 해당 type 위치에 입력해주면 pair 를 만들어준다.
  • operator로 ==, !=, <, >, <=, >= 가 정의 되어있어 사용가능
  • sort에 의한 정렬이 가능하다.
...
pair<int, int> prev_coord = make_pair(prev_x, prev_y);
pair<int, int> next_coord = make_pair(cur_x, cur_y);
pair<pair<int, int>, pair<int, int>> history = make_pair(prev_coord, next_coord);

if (find(memo_coord.begin(), memo_coord.end(), history) != memo_coord.end()) {
	continue;
} else {
	memo_coord.push_back(history);
	pair<pair<int, int>, pair<int, int>> history2 = make_pair(prev_coord, next_coord);
	memo_coord.push_back(history2);
	answer++;
		}
	}
 ....
  • 나는 이전, 다음 좌표의 짝을 만들었고, 좌표의 이동 history 를 저장하여는데에 사용했다.

출처 : https://blockdmask.tistory.com/64

profile
OnePunchLotto

0개의 댓글