📌 Map이란?
map은 각 노드가 key와 value의 쌍으로 이루어진 트리
- 중복 허용하지 않음
- map은 first, second가 있는 pair 객체로 저장됨
- first-key로 second-value가 저장됨
- 검색, 삽입, 삭제 -> O(logn)인 레드블랙트리로 구성
📌 Map의 사용
1. 선언
- map의 기본 구조 : map<key type, value type> 이름
map<string, int> mp;
2. 삽입
mp.insert({"minjgziii", 43});
3. 인덱스 접근
map["apple"]
이렇게 key값을 정확하게 넣어주면 그에 맞는 올바른 value 값을 반환한다.
만약, 없는 key 값을 요구한다면?
-> int의 경우 0을 반환
4. 데이터 검색
- map의 find() 함수 이용 (find() 함수는 접근자 iterator 이용)
if(map.find("orange") != map.end()) {
// 존재하는 경우
}
else {
// 존재하지 않는 경우
// map의 end의 접근자 반환
}
이렇게 입력으로 받아온 key를 가진 노드의 접근자를 반환한다. 존재하지 않는 경우, map의 end의 접근자를 반환
5. 기타
// map 비우기
map.clear();
// map 비우기
map.erase(map.begin(), map.end());
// map의 크기
map.size();
'자료구조' 카테고리의 다른 글
[자료구조] 스택 연산/구현 (0) | 2023.02.24 |
---|---|
[자료구조] 스택이란? (0) | 2023.02.24 |