[C++] 개념 - (STL) HashMap

영구·2024년 1월 25일

c++ 개념

목록 보기
3/10

C++ HashMap

HashMap은 해시테이블 기반 Map으로 Key-Value 쌍의 데이터를 저장한다.
Key-Value 쌍끼리의 순서를 보장하지 않고 랜덤하게 저장한다.
순서를 보장하지 않지만 삽입, 삭제, 탐색의 시간복잡도가 O(1)로 속도가 빠르다는 장점이 있다.

	#include<iostream>
    using namespace std;

    #include<unordered_map>

    int main()
    {
        // 정의
        unordered_map<int, char> m;

        // 삽입
        m.insert({1, 'a'});
        m.insert({5, 'b'});
        m.insert({2, 'c'});

        // key값으로 value값 얻어내기 -> 'a' 출력
        cout << m[1] << endl;

        // 삭제
        m.erase(2);

        // 탐색
        cout << (m.find(1))->first << endl; // key값 반환 -> 1
        cout << (m.find(1))->second << endl; // value값 반환 -> 'a'

        // 탐색 결과가 없는 경우 m.end() 반환
        if(m.find(2) == m.end()){
            cout << "not found" << endl;
        }

        return 0;
    }

0개의 댓글