이번 포스팅에서는 STL의 맵(Map)에 대해서 정리해 보려고 한다. 첨부한 이미지는 포큐 아카데미의 C++ 강의 내용 화면이다. 맵(Map) 맵은 STL 컨테이너에서 Key-Value 형태로 데이터를 저장하는 구조이다. 키는 중복될 수 없다. C++맵은 키 값을 기준으로 자동으로 정렬이 되는 컨테이너이다. 그리고 맵은 이진 탐색 트리(BST) 기반이다. 빈 맵을 만들 때는 key와 value의 타입을 반드시 선언해 주어야 한다. 그리고 어떤 맵과 같은 크기 및 데이터를 가지는 맵을 초기값으로 생성해서 맵을 만들 수도 있다. 두 개의 데이터를 하나의 단위로 저장하는 구조를 pair 라고 한다. 맵에 새로운 요소를 삽입하려고 할 때에는 insert() 메서드를 사용한다. 이 때 반환은 반복자(iterato..
이번에 살펴볼 부분은 스택과 큐이다. 스택 스택(Stack)은 후입선출(Last In First Out: LIFO)의 선형 자료구조이다. 데이터를 쌓아 올린다는 의미에서 더미(stack)라는 이름이 붙었다. 입력은 push, 출력은 pop, 그리고 가장 위에 있는 데이터를 확인하는 방법은 peek라고 한다. 바닥이 막힌 상자라고 이해하면 쉬운데, 그렇기 때문에 나중에 넣은 물건이 위에 있으므로 먼저 꺼낼 수 밖에 없다. 스택을 구현하는 방법을 살펴보자. 스택에서 필요한 함수는 위에서 언급한 push, pop, peek 그리고 하나를 더 추가한다면 스택이 비었는지 아닌지를 확인하는 isEmpty 함수 정도가 될 것 같다. 배열과 다르게 스택은 한 번에 i(인덱스)번째 데이터에 접근할 수는 없다. 다만 삽입..
DevOwen
'큐' 태그의 글 목록