컨테이너(Container)

: 임의 타입의 객체를 보관할 수 있는 컨테이너 (container)

다른 객체들을(원소) 보관하는 하나의 커다란 보관소

 

 

- 컨테이너의 종류 

 시퀀스 컨테이너(Sequence Container) 

  • vector  
  • deque (double ended queue) 
  • list

자료의 선형적인 집합이며 자료를 저장하는 기본 임무에 충실한 가장 일반적인 컨테이너이다. 삽입된 자료를 무조건 저장하며 입력되는 자료에 특별한 제약이나 관리 규칙은 없다. 사용자는 시퀀스의 임의 위치에 원하는 요소를 마음대로 삽입, 삭제할 수 있다. STL에는 벡터, 리스트, 데크 세 가지의 시퀀스 컨테이너가 제공된다.

 

 연관 컨테이너(Associative Container)

  • stack : LIFO (Last in First out)
  • queue : FIFO (First in First out)
  • priority_queue : 우선순위 큐 (Priority queue)

자료를 무조건 저장하기만 하는 것이 아니라 일정한 규칙에 따라 자료를 조직화하여 관리하는 컨테이너이다. 정렬이나 해시 등의 방법을 통해 삽입되는 자료를 항상 일정한 기준(오름차순, 해시 함수)에 맞는 위치에 저장해 놓으므로 검색 속도가 빠른 것이 장점이다. 표준 STL에는 정렬 연관 컨테이너인 셋, 맵 등의 컨테이너가 제공된다.

 

 어댑터 컨테이너 (Adapter Container) 

  • set 
  • multiset 
  • map 
  • multimap 
  • bitset

 시퀀스 컨테이너를 변형하여 자료를 미리 정해진 일정한 방식에 따라 관리하는 것이 특징이다. 스택, 큐, 우선 순위 큐 세 가지가 있는데 스택은 항상 LIFO의 원리로 동작하며 큐는 항상 FIFO의 원리로 동작한다. 자료를 넣고 빼는 순서를 외부에서 마음대로 조작할 수 없으며 컨테이너의 규칙대로 조작해야 한다.

 

 

From. https://taejusoul.tistory.com/83

https://modoocode.com/174

 

+ Recent posts