[C++ 알고리즘] map

sangeun·2020년 1월 5일
0

알고리즘

목록 보기
6/6

include

#include <map>

유용한 방식

넣고 빼기

map<int, int> m;
m[4] = 4;
m.insert({4,4});
cout << m[4] << endl;

하지만 m[4]와 같은 식으로 접근할 경우 원소가 없으면 0을 리턴에 원소가 실제로 존재하지 않는지 확실히 알 수 없다. 따라서 m.find(4)와 같이 접근해야 원소가 있는지 없는지 확실히 알 수 있다.

if (m.find(5) == m.end())

find는 원소가 없을 시 마지막 원소를 리턴한다.

삭제

//m : [{4,4}]
m.erase(4);
//m : []

순회

map에는 pair을 넣기에 pair와 똑같은 방식으로 값에 접근한다.

for (map<int, int>::iterator i = m.begin(); i != m.end(); i++)
    {
        cout << i->first << i->second;
    }

auto를 사용하면 포인터 참조를 하지 않아도 된다.

for (auto i = m.begin(); i != m.end(); i++)
    {
        cout << i.first << i.second;
    }
profile
꾸준히

0개의 댓글