티스토리 뷰

자료구조/STL

[STL] Hash_map 해시맵

히더 2018. 10. 3. 18:36

Hash_map

map이 트리 구조를 통해 원소를 정렬하여 저장하는 것과 다르게 

hash 구조를 통해 정렬하지 않고 저장하여 map, set보다 더 빠른 검색속도를 가진다.

단일 검색을 할때 사용한다.



#include <hash_map>


hash_map<int, int> hm; : int 자료형 key, int 자료형 value를 가지는 hash_map hm 선언


hm.size() : 노드 개수 리턴

hm.begin() : 첫 번째 원소 iterator

hm.end() : 마지막 원소 iterator

hm.find(a) : key가 a인 노드 찾아 해당 iterator 리턴, 만약 존재하지 않으면 마지막 iterator 리턴

hm.insert(hash_map<int,int>::value_type(a,b)) : a key의 b value 삽입

hm.erase(hm.begin()) : 가장 앞 원소 삭제

hm.clear() : 모든 원소 삭제

hm.count(a) : key가 a인 원소들 개수 리턴

hm.lower_bound(a) : key가 a인 원소가 있다면 해당 위치의 반복자 리턴

hm.upper_bound(a) : key가 a인 원소가 있다현 해당 위치 다음 위치의 반복자 리턴


ex) 

hash_map<int,string> hm;

hm.insert((hash_map<int,int>::value_type(1,"A"));

hm.insert((hash_map<int,int>::value_type(2,"B"));

hm.insert((hash_map<int,int>::value_type(3,"C"));


for(auto i=hm.lower_bound(1); i!=hm.upper_bound(3); i++)

cout << i->second << endl;


auto it = hm.find("2");

if(it!=hm.end()) it->second = "D";






작성자 : 히더

'자료구조 > STL' 카테고리의 다른 글

[STL] List 리스트  (0) 2018.10.04
[STL] Hash_set 해시셋  (0) 2018.10.03
[STL] 시퀀스 컨테이너와 연관 컨테이너  (0) 2018.10.03
[STL] Set 셋  (0) 2018.10.02
[STL] Map 맵  (0) 2018.10.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함