Languages/C & C++

C++ : STL map, set, multiset

2023. 1. 5. 14:00

1. map

key, value로 이루어진 컨테이너

key값을 기준으로 자동 정렬 (기본 오름차순 정렬, 내림차순도 정의 가능)

​

***레드블랙 트리로 구현되어 있다고 한다.. 레드블랙트리가 뭐지?

​

https://hyo-ue4study.tistory.com/149

1. #include <map>

2. 선언 : map<key type, value type> 변수명

3. 검색 : m.find(key) -> 존재하면 해당 이터레이터 반환. 없으면 m.end() 반환

4. 삽입 : m.insert(make_pair( , ) or { , }) -> 중복 허용x. key가 중복되면 insert 수행 안됨

5. 접근 : 랜덤 접근 불가. begin() 부터 서치해야함. next, prev 함수 사용 가능

***for (auto m : map) 으로 접근하면 직접 접근이 아니라서 데이터 변경이 불가능하다.

***for (auto ite = map.begin(); ite!=map.end(); ite++) 형태로 접근해야 포인터로 데이터 직접 수정이 가능

***char 배열 형태로 key를 넣게 되면 주소값으로 들어간다. insert가 참조형으로 데이터 복사하는듯. for문 돌릴꺼면 new로 계속 새로 생성해줘야,,

***위의 이유로 find도 제대로 안먹힌다.

6. 삭제 : m.erase(이터레이터 or key), m.erase(이터레이터, 이터레이터) = 범위삭제, m.clear()

저작자표시 (새창열림)

'Languages > C & C++' 카테고리의 다른 글

C++ : STL heap  (0) 2023.01.05
C++ : STL Priority Queue  (0) 2023.01.05
C++ : STL map, set 처럼 인덱스 엑세스가 불가능한 컨테이너 접근하기  (0) 2023.01.05
기묘한 시간초과...  (0) 2023.01.05
C++ : lower_bound 의 활용  (0) 2023.01.05
'Languages/C & C++' 카테고리의 다른 글
  • C++ : STL heap
  • C++ : STL Priority Queue
  • C++ : STL map, set 처럼 인덱스 엑세스가 불가능한 컨테이너 접근하기
  • 기묘한 시간초과...
jamong5
jamong5
데이터 엔지니어를 희망하는 개발자 지망생
jamong5
JAMONG5
jamong5
전체
오늘
어제
  • 분류 전체보기 (171)
    • Algorithem (92)
      • 백준 PS with code (64)
      • 프로그래머스 PS with code (9)
      • 알고리즘 이론 (3)
    • Languages (19)
      • Python (10)
      • Java (2)
      • C & C++ (7)
    • SQL (42)
      • 프로그래머스 MySQL with code (41)
      • MySQL (1)
    • CS (2)
    • DevOps (4)
      • Docker (1)
      • Git, GitHub (3)
    • 코드 고민 (1)
    • 도움을 받은 정보 (2)
    • 책 (4)
    • 보드 게임 일기 (1)
    • 컴퓨터 일기 (2)
    • R&D 휴지통 (0)

블로그 메뉴

  • 소개
  • 홈
  • 태그

공지사항

인기 글

태그

  • heapq
  • 구현
  • 파이썬
  • 똥이
  • backtracking
  • Git
  • 백준
  • 투포인터
  • 그래프탐색
  • SQL
  • join
  • 프로그래머스
  • Python
  • LCS
  • 백트래킹
  • 최소힙
  • 스택
  • MySQL
  • 알고리즘
  • 시간초과

최근 댓글

최근 글

hELLO · Designed By 정상우.
jamong5
C++ : STL map, set, multiset
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.