본문 바로가기

이론이론이론이론/알고리즘

맵(map) 클래스

배열의 인덱스로 String이나 큰 수를 넣고 싶은데 불가능하다면,


#include<map>


map은 STL(Standard Template Library)이 제공하는 자료구조 중 하나.



map의 배개변수


Key - map에 저장되는 키 데이터 형식

Type - map에 저장되는 요소 데이터 형식

Traits - 함수 개체를 제공하는 형식은 map 내에서의 상대적인 순서를 결정하는 정렬 키로 두 요소 값을 비교 가능

Allocator - map의 메모리 할당 및 할당 취소에 대한 세부 정보를 캡슐화하는 저장된 할당자 개체를 나타냄



map 클래스 특징


- 연결된 키 값을 기반으로 요소 값을 효율적으로 검색하는 다양한 크기의 컨테이너.

- 이는 해당 요소에 엑세스할 수 있는 양방향 반복기를 제공하기 떄문에 되돌릴 수 있다.

- 요소가 지정된 비교 함수에 따른 키 값으로 정렬됨

- 키는 고유하다 (중복된 키 사용 불가)

- 요소의 데이터 값은 키 값과 구별되기 때문에 쌍 연관 컨테이너


(출저 : https://blog.naver.com/afsdzvcx123/221395547971)




선언  map<int,int>d;    map<string,int>d;   map<char,int>d;


첫번째 int가 key, 두번째 int가 value다.



map의 중요한 기능 count


map.count("1") : 맵에 1이란 스트링이 한번이라도 들어갔으면 1을 출력 아니면 0.

                     (그래프 문제에서 사용되는 부울 함수처럼 작용)