• map
    C++ 2021. 7. 11. 22:44
    반응형
    map

    key-value 쌍으로 데이터 저장, key 값 중복될 경우 기존 값 덮어 씀.

    기본적으로 key 값 기준으로 자동 정렬(오름차순)

    red-black tree 기반 => 탐색/삽입/삭제 연산 O(logn)

     

    참고로, 해시 기반으로 자동 정렬되지 않는 unordered_map의 경우 탐색/삽입/삭제 O(1)이다.

     

    map.find(key)

    map에 해당 키 값 존재하는지 찾고, 있으면 해당 원소의 반복자, 없으면 end() 리턴.

     

    #include <iostream>
    #include <string>
    #include <map>
    
    int main() {
        std::map<std::string, int> m;
    
        m.insert({"hj", 728});
        std::cout << m["hj"] << '\n';
    
        m.insert(std::make_pair("yb", 909));
        std::cout << m.find("yb")->second << '\n';
    
        for (auto iter=m.begin(); iter!=m.end(); iter++) {
            std::cout << iter->first << ": " << iter->second << '\n';
        }
        
        return 0;
    }
    728
    909
    hj: 728
    yb: 909

     

    반응형

    'C++' 카테고리의 다른 글

    struct, struct vector, typedef, using  (0) 2021.08.28
    find  (0) 2021.08.28
    입출력 조작자, 포맷 함수  (0) 2021.07.11
    stoi() - string to int  (0) 2021.07.06
    멀티스레드 환경에서 vector 사용, pair  (0) 2021.07.06

    댓글

ABOUT ME

공부한 것을 기록하기 위해 블로그를 개설했습니다.

VISIT

/