Map의 기본 개념
- 키-값 쌍 저장: 키와 값의 쌍을 저장하는 연관 컨테이너. 각 키는 고유하며, 키에 대응하는 값이 저장됨.
- 자동 정렬: 키를 기준으로 자동으로 정렬. 기본적으로는 오름차순 정렬
- 빠른 검색 및 삽입: 이진 검색 트리로 구현되어 있어 빠른 검색 및 삽입 속도
기본 사용법
선언과 초기화
cppCopy code
#include <map>
std::map<int, std::string> myMap; // 빈 map 선언
원소 삽입
cppCopy code
myMap[1] = "One";
myMap[2] = "Two";
myMap[3] = "Three";
원소 접근
cppCopy code
std::cout << "키 2에 대응하는 값: " << myMap[2] << std::endl;
원소 제거
cppCopy code
myMap.erase(2);
반복문 활용
cppCopy code
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << ": " << it->second << std::endl;
}
주요 기능
검색
cppCopy code
auto it = myMap.find(1);
if (it != myMap.end()) {
std::cout << "키 1에 대응하는 값: " << it->second << std::endl;
} else {
std::cout << "키 1이 없습니다." << std::endl;
}
원소 개수
cppCopy code
std::cout << "map 크기: " << myMap.size() << std::endl;
키의 존재 여부 확인
cppCopy code
if (myMap.count(2) > 0) {
std::cout << "키 2가 존재합니다." << std::endl;
} else {
std::cout << "키 2가 존재하지 않습니다." << std::endl;
}
활용 예제
cppCopy code
#include <iostream>#include <map>int main() {
std::map<int, std::string> myMap = {{3, "Three"}, {1, "One"}, {4, "Four"}, {2, "Two"}};
std::cout << "Map 내의 원소: ";
for (const auto& element : myMap) {
std::cout << element.first << ": " << element.second << " ";
}
std::cout << "\\nMap 크기: " << myMap.size() << std::endl;
return 0;
}
Map의 기본 개념
- 키-값 쌍 저장: **map**은 키와 값의 쌍을 저장하는 연관 컨테이너입니다. 각 키는 고유하며, 키에 대응하는 값이 저장됩니다.
- 자동 정렬: **map**은 키를 기준으로 자동으로 정렬됩니다. 기본적으로는 오름차순 정렬이 이루어집니다.
- 빠른 검색 및 삽입: **map**은 이진 검색 트리로 구현되어 있어 빠른 검색 및 삽입 속도를 제공합니다.
기본 사용법
선언과 초기화
cppCopy code
#include <map>
std::map<int, std::string> myMap; // 빈 map 선언
원소 삽입
cppCopy code
myMap[1] = "One";
myMap[2] = "Two";
myMap[3] = "Three";
원소 접근
cppCopy code
std::cout << "키 2에 대응하는 값: " << myMap[2] << std::endl;
원소 제거
cppCopy code
myMap.erase(2);
반복자 활용
cppCopy code
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << ": " << it->second << std::endl;
}
주요 기능
검색
cppCopy code
auto it = myMap.find(1);
if (it != myMap.end()) {
std::cout << "키 1에 대응하는 값: " << it->second << std::endl;
} else {
std::cout << "키 1이 없습니다." << std::endl;
}
원소 개수
cppCopy code
std::cout << "map 크기: " << myMap.size() << std::endl;
키의 존재 여부 확인
cppCopy code
if (myMap.count(2) > 0) {
std::cout << "키 2가 존재합니다." << std::endl;
} else {
std::cout << "키 2가 존재하지 않습니다." << std::endl;
}
댓글 영역