Nagie's DevStory
[STL] 13. std::multimap 본문
728x90
std::multimap은 C++ 표준 라이브러리(STL)에서 제공하는 중복된 키를 허용하는 연관 컨테이너이다.
std::map과 유사하지만, std::multimap은 한 개의 키에 여러 개의 값을 저장할 수 있으며.
<map> 헤더 파일에 정의되어 있다.
특징
1. 중복된 키 허용 : std::map과는 다르게 동일한 키에 대해 여러 개의 값을 저장할 수 있다.
3. 자동 정렬 : 키에 대한 자동 정렬이 기본적으로 수행된다.
4. 검색 및 삽입 연산이 빠름 : 트리 기반이기 때문에 검색 및 삽입 연산이 빠르다.
5. 반복자(iterator) 제공 : begin()과 end()를 통해 반복자를 얻을 수 있어서 반복문을 통해 접근할 수 있다.
사용법
#include <iostream>
#include <map>
int main() {
std::multimap<int, std::string> myMultimap;
// 요소 추가
myMultimap.insert({1, "One"});
myMultimap.insert({2, "Two"});
myMultimap.insert(std::make_pair(1, "Uno")); // 중복된 키를 허용
// 요소 출력 (자동으로 정렬되어 출력됨)
for (const auto& elem : myMultimap) {
std::cout << elem.first << ": " << elem.second << std::endl;
}
// 출력: 1: One 1: Uno 2: Two
// 특정 키에 대응하는 값 검색
int key = 1;
auto range = myMultimap.equal_range(key);
for (auto it = range.first; it != range.second; ++it) {
std::cout << key << ": " << it->second << std::endl;
}
// 출력: 1: One 1: Uno
}
주요 멤버 함수와 기능
주요 멤버 함수와 기능이 std::map과 동일하기에 이전에 작성해 둔 글의 URL을 첨부한다.
728x90
Comments