피너클의 it공부방
c++ map 본문
728x90
반응형
#include <map>으로 불러오고 삽입, 삭제, 탐색 모두 log(N)
삽입 방법은 크게 2개
배열 처럼 넣거나 insert로 넣거나
둘의 차이점은?
1부터 100까지 m[10]에 배열 처럼 넣고 m[10]을 출력하면 당연히 100이 출력된다.
하지만 insert로 집어넣은 경우에는 맨 처음에 넣은 값인 1이 출력된다.
insert의 경우 값이 있을 경우 그 값을 덮지 않는 것이다.
삭제
m.erase()를 통해 지울 수 있다.
없는 값을 지워도 딱히 에러는 안뜨는거같다.
탐색
탐색은 배열처럼 찾을수도 있고 find를 통해 찾을 수도 있다.
find를 통해 찾은 경우에는 iterator로 반환되기 때문에 값을 출력하려면 -> 를 이용해야한다.
없는 값을 출력하면 위 처럼 나온다.
map에는 순서가 없다. 들어간 순간부터 정렬이 되기 때문이다.
위 처럼 규칙없이 넣은 수들이 iterator를 이용해 출력하면 정렬된 상태로 출력되는 걸 볼 수 있다.
문자열도 정렬되어서 출력되는걸 볼 수 있다.
728x90
반응형
Comments