본문 바로가기

Language & Technique/기술(technique)

[자료구조] Pair 와 Map

 

Pair

  • 두 객체를 하나의 객체처럼 다룰 수 있게 해주는 구조체

 

선언

 pair <Type1, Type2> p ( first, second);

 

생성

p = make_pair( first , secnod );

 

데이터 접근 

p.first; p.second;

 

 

Map

  • #include <map> 선언이 필요하다.
  • pair로 된 데이터를 저장, 검색하기 위한 자료 구조이다.
  • map에 있는 요소의 값은 직접 변경할 수 있으나. 키 값은 상수이며 변경할 수 없다.

 

구문

template <class Key,
    class Type,
    class Traits = less<Key>,
    class Allocator=allocator<pair <const Key, Type>>>
class map;

 

  • Key : map키 데이터 
  • Type : map에 저장되는 요소 데이터
  • Traits : map내에서의 상대적인 순서를 결정하기 위한 정렬
  • Allocator : map의 메모리 할당 및 할당 취소에 대한 정보를 저장하는 할당자 개체

 

생성

 map <type1, type2> m1;
 map <type1, type2> ::iterator m1_Iter;
typedef pair <type1, type2> m2;

 

삽입

m.insert(make_pair(Fisrt, Second));
m.insert({First, Second});

 

참조

m.at(First);
m[First];

 

map

-중복을 허용하지 않고, key를 기준으로 오름차순 자동 정렬된다.

multimap

-중복을 허용하고, key를 기준으로 오름차순 자동 정렬된다.

unordered_map

-중복을 허용하지 않고 정렬 없이 저장한다.

 

 

 

 

 


https://m.blog.naver.com/oyh951416/222001614292

 

[C++] pair, map, tuple 완정 정복 (20/7/9 수정)

업데이트 내역 - 20/6/15 : 최초 작성 - 20/7/9 : unordered_map 추가 pair pair란 두 객체를 하나의 객체...

blog.naver.com

https://learn.microsoft.com/ko-kr/cpp/standard-library/pair-structure?view=msvc-170&viewFallbackFrom=vs-2019 

 

pair 구조체

자세한 정보: 쌍 구조체

learn.microsoft.com

 

'Language & Technique > 기술(technique)' 카테고리의 다른 글

DFS - 조합과 순열  (0) 2022.08.15
참조자(레퍼런스)와 포인터  (0) 2022.03.28
그래프 - DFS 와 BFS  (2) 2022.03.14