컨테이너 점검

컨테이너는 저장 방식보다 자주 하는 연산으로 고릅니다

임의 접근, 삽입 위치, 정렬된 키 검색, 해시 검색, 꺼내는 규칙을 먼저 정하면 후보와 비용이 빠르게 좁혀집니다.

빠른 순회와 임의 접근

vector

연속 메모리, 캐시 효율, 끝 삽입이 강점입니다. 중간 삽입은 재배치 비용을 봅니다.

양끝 조작

deque

앞과 뒤에 넣고 빼는 일이 많고 인덱스 접근도 필요할 때 후보가 됩니다.

위치를 아는 삽입과 삭제

list, forward_list

노드 기반이라 삽입과 삭제가 빠르지만 임의 접근과 메모리 오버헤드를 감수합니다.

정렬된 키 검색

map, set

키 순서, 범위 탐색, 중복 제어가 필요하면 트리 기반 컨테이너를 사용합니다.

평균 빠른 키 검색

unordered_map, unordered_set

정렬이 필요 없고 해시가 적절하다면 평균 O(1) 조회를 기대할 수 있습니다.

꺼내는 규칙만 노출

stack, queue, priority_queue

전체 컨테이너 기능보다 LIFO, FIFO, 우선순위 인터페이스가 중요할 때 씁니다.