이우의 개발일지
[C/C++] map 함수 / STL 함수 본문
C++ map이란?
map은 Key-Value의 관계이다. 중복 허용 X
C++의 map 내부 구현은 검색, 삽입, 삭제가 O(logn)인 레드블랙트리로 구성
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> m1{
{"kim", 20},
{"Lee", 21}
};
std::cout << m1["kim"] << std::endl;
m1["kim"] = 22;
std::cout << m1["kim"] << std::endl;
m1["park"] = 25; // 새로운 키를 추가하는 방법
// m1.insert(std::make_pair("park", 25)); 도 추가하는 방법 중 하나이다.
}
map 구성 방법
std::map<std::string, int> m1{
{"kim", 20},
{"Lee", 21}
};
std::map < Key 타입 , Value 타입> 을 입력하면 됩니다.
그 타입에 맞춰 안에 인자를 구성 {"kim", 20} 같이 구성하면 됩니다.
map 데이터 삽입 방법
m1["park"] = 25; // 새로운 키를 추가하는 방법
// m1.insert(std::make_pair("park", 25)); 도 추가하는 방법 중 하나이다.
두 가지 방법으로 데이터 삽입이 가능합니다.
1. m1[Key 이름] = Value
제일 간단한 방법이고 쉽게 Value를 바꿀 수 있습니다.
2. m1.insert(std::make_pair(Key 이름, Value));
조금 복잡하지만 이런 방법도 있다는 걸 알아두시면좋을 것 같습니다.
map 데이터 삭제 방법
1. 특정위치 요소 삭제
m1.erase(m.begin()+1);
이런 식으로 시작 점에서 +1, 즉 2번째 위치에 있는 요소를 삭제할 수 있습니다.
2. Key 값을 기준으로 삭제
m1.erase("park");
이렇게 Key 값을 통해 지울 수 있습니다.
반응형
'Coding' 카테고리의 다른 글
[백준/C++] 1193번 분수찾기 코딩 (0) | 2024.05.15 |
---|---|
[백준/C++] 2941번 크로아티아 알파벳 (0) | 2024.05.15 |
[C++] 백준 10828번 스택 (0) | 2024.05.10 |
[C++] 백준 1316번 그룹 단어 체커 (0) | 2024.05.10 |
[C/C++] stringstream 사용법 (0) | 2024.05.07 |