[ 특징 ]
- key와 value 쌍(pair)으로 이루어진 트리, first- key로 second- value로 저장.
- key값은 고유함.
- key값을 기준으로 자동으로 오름차순 정렬, 내림차순을 원한다면 3번째 원소에 greater 추가.
- 헤더 : #include <map>
- map 선언
map<int, string> m;
- map에 데이터 삽입
m.insert({3, "Cam"});
- 특정키(key)가 맵(map)에 존재하는지 찾기
1) find()
if (m.find(key) != m.end()) {
std::cout << "Key found" << std::endl;
} else {
std::cout << "Key not found" << std::endl;
}
2) count() : 맵의 경우 key가 고유하기 때문에 존재한다면 count 1, 아니라면 0
if (m.count(key) != 0) {
std::cout << "Key found" << std::endl;
} else {
std::cout << "Key not found" << std::endl;
}
- 반복문 데이터 접근
1) 인덱스 기반
for (auto iter = m.begin() ; iter != m.end(); iter++)
{
cout << iter->first << " " << iter->second << endl;
}
cout << endl;
출처: https://life-with-coding.tistory.com/305 [코딩젤리:티스토리]
2) 범위 기반
for (auto iter : m) {
cout << iter.first << " " << iter.second << endl;
}
출처: https://life-with-coding.tistory.com/305 [코딩젤리:티스토리]
- map 삭제
1) 특정 요소의 위치 삭제
m.erase(m.begin()+2);
2) 키값 기반으 요소 삭제
m.erase("Alice");
3) 모든 요소 삭제
m.erase(m.begin(), m.end());
m.clear();
'프로그래밍 언어 공부 > 알고리즘 공부' 카테고리의 다른 글
<vector> 컨테이너 메소드 (0) | 2023.08.02 |
---|