SMALL
- C++ STL
unorderd_mpa
#include <unordered_map>
클래스
unordered_map 클래스 | {key, mapped} 쌍의 해시 테이블을 저장합니다. |
unordered_multimap 클래스 | {key, mapped} 쌍의 해시 테이블을 저장합니다. |
- map 보다 더 빠른 탐색을 하기위한 자료구조
- 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)
- map 은 Binary Search Tree로 탐색 시간 복잡도는 O(log n)
- unorderd_map은 중복된 데이터를 허용하지 않고, map에 비해서 데이터가 많을 시 좋은 성능을 냄
- 단점 ) Key가 유사한 데이터가 많을 시 해시 충돌로 인해 성능이 저하될 우려가 있음
함수
operator!= | 연산자의 좌변에 있는 unordered_map 개체가 우변에 있는 unordered_map 개체와 같지 않은지 테스트합니다. |
operator== | 연산자의 좌변에 있는 unordered_map 개체가 우변에 있는 unordered_map 개체와 같은지 테스트합니다. |
swap 함수(unordered_map) | 두 map을 바꿉니다. |
operator!= | 연산자의 좌변에 있는 unordered_multimap 개체가 우변에 있는 unordered_multimap 개체와 같지 않은지 테스트합니다. |
operator== | 연산자의 좌변에 있는 unordered_multimap 개체가 우변에 있는 unordered_multimap 개체와 같은지 테스트합니다. |
swap 함수(unordered_map) | 두 multimap을 바꿉니다. |
empty( )
- 맵이 비어있는지 확인하는 함수
- if unordered_map is empty, then return 1 else 0
size( )
- 맵의 크기를 확인하는 함수
- return size_type ( unsigned int )
operator [ ]
- 맵에서 key를 통해 value를 지정하는 operator
- map_name[key] = value
find( key )
- 맵에서 key에 해당하는 원소를 찾는 함수
- if key is contained, then iterator else map_name.end()
count( key )
- 맵에서 key에 해당하는 원소의 갯수를 반환하는 함수
- if key is contained, return 1 else 0
insert( {key, value} )
- 맵에 pair<key,value> 를 추가하는 함수
- if key is contained, then not insert
erase( key )
- 맵에서 key에 해당하는 원소를 제거하는 함수
- erase 하는 방법 : 특정 position의 pair 삭제, key를 통해 삭제, 범위 삭제
clear( )
- 맵을 초기화하는 함수
operator =
- 대입연산자 가능
탐색방법
- index로 접근할 수 없고 iterator로 접근하여야 한다.
- 시작 : begin( ), 끝 : end( )
- key : iter->first, value : iter->second
- 반복문 사용 시 auto 활용 or pair< key_type, value_type > 사용
참고 링크)
728x90
728x90
LIST
'🅿🆁🅾🅶🆁🅰🅼🅼🅸🅽🅶 > C_C++' 카테고리의 다른 글
[C/C++_Doodle]Book Reviewing _C와 C++ (0) | 2023.01.25 |
---|---|
[C++] 역사부터 기초까지 (0) | 2021.11.21 |
[ 𝙲++ ] 숫자야구게임 𝟸장 셔플 활용편 (𝙽𝚞𝚖𝚋𝚎𝚛 𝙱𝚊𝚜𝚎𝚋𝚊𝚕𝚕 𝚐𝚊𝚖𝚎 - 𝚂𝚑𝚞𝚏𝚏𝚕𝚎) (0) | 2021.10.13 |