그냥 게임개발자
unordered_map 본문
저번 포스팅에서는 정렬이 되는 컨테이너 map을 사용했다면,
이번에는 정렬이 되지 않은 unorderd_map을 사용할 것입니다.
물론 함수들은 map과 똑같습니다.
map과 unordered_map의 차이점은
map | unordered_map |
정렬 | 안정렬 |
균형 이진 검색트리 기반 | 해시테이블 기반 |
탐색, 삽입, 삭제 O(logN)이 걸림 | 탐색, 삽입, 삭제에 평균은 O(1) 최악은 O(N) |
이렇습니다.
만약 정렬이 필요하지 않을 때에는 unordered_map을 사용하는 것도 좋지만 최악의 경우는 map보다 느릴 수 있어요.
왠만하면 map을 사용하는 것을 추천합니다.
간단하게 사용해보고 다음으로 넘어가죠
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> ump;
ump["bbb"] = 2;
ump["aaa"] = 1;
ump["ccc"] = 3;
// auto = unordered_map<string, int>::iterator::value_type
for (auto it : ump)
{
cout << it.first << " : " << it.second << '\n';
}
return 0;
}

결과를 보면 map은 오름차순으로 정렬이 되었는데 이것은 정렬이 되지 않고 바로 나오네요.
끄읕!
'내 개인적인 공부 > 자료구조' 카테고리의 다른 글
set? unique? (0) | 2024.04.14 |
---|---|
set (0) | 2024.04.13 |
map (0) | 2024.04.13 |
배열 vs 연결리스트 (0) | 2024.04.13 |
랜덤접근과 순차적 접근? (0) | 2024.04.13 |