맵(map)
각 노드가 key와 value가 쌍으로 이루어진 트리로 key의 중복을 허용하지 않는다.
맵에 원소쌍 삽입(페어 이용)
맵명.insert(pair<데이터타입1, 데이터타입2>(키, 값));
맵명.insert(페어명);
해당하는 key 값의 value 반환
맵명[key]
맵명.at(key)
해당 하는 키를 갖는 원소쌍의 iterator 반환
맵명.find(key) //찾을 수 없으면 end()반환
맵 사이즈 반환(숫자)
맵명.size()
해당 인덱스의 원소쌍 삭제
맵명.erase(iterator로 표현된 인덱스);
해당하는 key값을 갖는 원소쌍 삭제
맵명.erase(key);
맵에서 사용하는 iterator
맵명.begin() //첫 번째 원소에 접근 가능한 반복자
맵명.end() // 마지막 원소에 접근 가능한 반복자
맵 내 원소쌍 전체 제거
맵명.erase(맵명.begin(), 맵명.end());
맵명.clear();
맵이 비어 있는지 확인 (0,1)
맵명.empty()
#include <iostream>
#include <map> //맵을 사용하기 위한 헤더파일
using namespace std;
int main() {
map <int, string> m;
m.insert(pair<int,string>(1,"Hwang")); // 맵에 원소쌍 삽입(페어 이용) 맵명.insert(pair<데이터타입1, 데이터타입2>(키, 값));
pair<int, string> p(2, "Kim");
m.insert(p); //맵명.insert(페어명);
m.insert(pair<int, string>(4, "Kang"));
cout << m[4] << endl; // 해당하는 key 값의 value 반환 - 맵명[key]
//출력 : Kang
cout << m.at(4) << endl; // 해당하는 key값의 value 반환 - 맵명.at(key)
//출력 : Kang
m.find(2); //해당 하는 키를 갖는 원소쌍의 iterator 반환 - 맵명.find(key) //찾을 수 없으면 end()반환
cout << m.size() << endl; //맵 사이즈 반환(숫자) - 맵명.size()
//출력 : 3
m.erase(m.begin()); //해당 인덱스의 원소쌍 삭제 - 맵명.erase(iterator로 표현된 인덱스);
m.erase(1); //해당하는 key값을 갖는 원소쌍 삭제 - 맵명.earase(key값);
m.erase(m.begin(), m.end()); // 맵 내 원소쌍 전체 제거 - 맵명.erase(맵명.begin(), 맵명.end());
m.clear(); // 맵 내 원소쌍 전체 제거 - 맵명.clear();
cout << m.empty() << endl; //맵이 비어 있는지 확인 (0,1)
//출력 : 1 (true)
return 0;
}
'Programming > C++' 카테고리의 다른 글
[C++] 문자열 치환 함수 regex_replace (0) | 2021.12.30 |
---|---|
[C++] STL 문자열(string) 사용법 (0) | 2021.12.24 |
C++ STL 페어(pair) 사용법 (0) | 2021.10.22 |
C++ STL 벡터(vector) 사용법 (0) | 2021.10.22 |
C++ STL 덱(deque) 사용법 (0) | 2021.10.22 |