컨테이너
컨테이너란 부둣가에 많이 보이는 박스로, C++에선
비슷한 성질의 객체를 한군데에 모아 관리하고 저장하는 용기라는 뜻이다.
STL의 컨테이너는 크게 순차 컨테이너와 정렬 연관 컨테이너로 나눌 수 있다.
- 순차 컨테이너 ( Sequence Container )
순차 컨테이너는 시퀀스 컨테이너 라고도 불린다. 시퀀스라는 말은 일렬로 나열되어 있다는 뜻이다.
순차 컨테이너는 자료를 순차적으로 저장하는 방식에 있어 가장 일반적인 컨테이너이다.
순차 컨테이너에는 Vector, List, String, Deque 이 있다.
- 정렬 연관 컨테이너 ( Sorted Associated container )
정렬 연관 컨테이너란 컨테이너 속의 자료들이 규칙에 따라 연관 즉, 정렬 되어있는 컨테이너 이다.
일정한 규칙으로 정렬되어있기 때문에 검색속도가 빠른 것이 장점이다.
정렬 연관 컨테이너에는 map, set이 있다.
또 다르게는 연속 메모리 기반 컨테이너와 노드 기반 컨테이너로도 나눌 수 있다.
- 연속 메모리 기반 컨테이너
연속 메모리 기반 컨테이너란 즉 배열로 된 컨테이너로 자료의 검색은 빠르지만 삽입 이나 삭제를 할 때에는 메모리를 재할당하고 컨테이너를 복사해야하므로 시간이 오래 걸린다.
연속 메모리 기반 컨테이너에는 Vector, String, Deque 이 있다.
- 노드 기반 컨테이너
이름 그대로 노드로 되어있는 컨테이너이다.
노드 기반 컨테이너에는 List 와 map, set이 있다.
List는 일반적인 노드 형식이고, map과 set은 트리 형식이다.
'예전 > STL' 카테고리의 다른 글
[STL] 연관 컨테이너 ( set,multiset,map,multimap ) (0) | 2012.08.02 |
---|---|
[STL] 연관 컨테이너 ( set,multiset,map,multimap ) (0) | 2012.05.03 |
[STL] 반복자와 반복자 무효화 현상 (2) | 2012.05.03 |
[STL] 컨테이너의 분류 및 정리 ( Vector, List, String, Deque ) (0) | 2012.05.01 |
[STL] 컨테이너의 정의 (0) | 2012.04.29 |