Map
- 완전이진트리. 구조로는 레드블랙트리를 사용한다. 키와 값을 이용한다. 정렬대상은 Key를 기준으로 오름차순으로 정렬한다.
- 삽입이 되면서 자동으로 정렬
1. 사용
- #include <map>
- map<[Data Type1], [Data Type2]> [변수이름];
2. 생성자와 연산자
- map<int, int> m;
- 기본 선언 방법
- map<int> m(pred);
- pred를 통해 정렬기준(오름, 내림)
- map<int> m2(m1);
- m1을 복사한 m2를 생성
3. 멤버 함수
- m.begin();
- 맨 첫 번째 원소를 가리키는 iter
- m.end();
- 맨 마지막 원소를 가리키는 iter
- m.rbegin();
- 역으로 처음을 가키리는 iter
- m.rend();
- 역으로 마지막을 가리키는 iter
- m.clear();
- 모든 원소를 제거
- m.count(k);
- 원소 k의 갯수를 반환
- m.empty();
- m이 비어있는지 확인
- m.insert(k);
- 원소 k를 삽입
- 자동으로 정렬
- 삽입 성공 실패에 대한 여부는 리턴 값(pair<iterator, bool>)으로 나옴
- pair.first는 삽입한 원소를 가리키는 iter, pair.second는 true, false 리턴
- m.insert(iter,k);
- iter가 가리키는곳 부터 원소 k 삽입할 위치를 탐색하여 삽입
- m.erase(start, end);
- start~end 범위의 원소를 모두 제거
- m.find(k);
- 원소 k를 가리키는 반복자를 반환
- m2.swap(m1);
- m1과 m2를 swap
- m.upper_bound(k);
- 원소 k가 끝나는 구간의 반복자
- m.lower_bound(k);
- 원소 k가 시작하는 구간의 반복자
- m.equal_range(k);
- 원소 k가 시작하는 구간과 끝나는 구간의 반복자 pair 객체를 반환
- m.value_comp();
- m.key_comp();
- 정렬 기준 조건자를 반환
- m.size();
- 사이즈 반환
- m.max_size();
- 최대 사이즈(남은 메모리 크기)를 반환
아래 링크 설명이 좋아 직접 타이핑하면서 외우는중
출처
'개발 > C++' 카테고리의 다른 글
C++ 자료구조 - Deque (0) | 2020.06.21 |
---|---|
C++ 자료구조 - Set (0) | 2020.06.21 |
C++ 자료구조 - List (0) | 2020.06.19 |
C++ 자료구조 - Vector (0) | 2020.06.19 |
C++ 자료구조 정리 (1) | 2020.06.19 |