C++ STL - unordered_map

dada·2022년 3월 20일
0

알고리즘

목록 보기
3/5

🧐unordered_map 이란?

map과 같이 <key, value>로 값을 저장하지만 map은 오름차순으로 정렬하지만 unordered_map은 정렬을 사용하지 않는다.

  • 원소들이 순서대로 정렬되어 들어가지 않는다.
  • 삽입, 삭제, 조회가 평균 O(1)를 보장한다.(최악의 경우는 O(n))
  • 해시 함수를 이용하여 저장 공간을 결정한다.
  • 너무 빈번하게 자료를 삽입, 삭제하지 않고 많은 자료 저장과 빠른 검색 속도를 사용할 때 사용한다.
#include <unordered_map>
unordered_map <string,int> map;
unordered_map <string, vector<string>> map;

👉🏻위와 같이 value 값에 vector 형태에 값을 넣을 수 있다.

🎈멤버 함수

map.at(idx); -> idx번째 원소를 참조, 범위를 점검

map[idx]; -> idx 원소를 참조, 범위를 점검하지 않음

map.clear(); -> 모든 원소 제거

map.insert(make_pair(key,value)); -> key, value 삽입

map.begin(), map.end(); -> 첫번째와 ,마지막원소 가리킴.(Iterator 반환)

map.find(key); -> 특정 키를 가진 원소를 찾는다.

map.count(key); -> 특정 키를 가진 원소의 개수

map.erase(key); -> key의 원소를 제거

🎈반복문에서 사용하기

for(auto it = map.begin(); it !=map.end(); it++) {
	   cout << it->first << endl;
       cout << it->second << endl;  
    }

👉🏻 it->first를 하는 경우 key 값이 순서대로 출력한다.
it->second는 value 값을 순서대로 출력한다.

profile
기록하기

0개의 댓글