C++ - STL 컨테이너

구동엽
|2024. 7. 31. 11:19

STL 컨테이너

STL 컨테이너는 데이터를 보관하고 관리하기 위해서 필요한 여러가지 기능을 제공한다.

 

Vector

  • 동적 배열로 배열의 크기를 변경할 수 있다.
  • 임의 접근이 가능하며, 뒤에서의 삽입이 빠르다.
  • 삽입, 삭제, 탐색 O(n), 임의 원소 접근 O(1) 보장한다.

list

  • 연결리스트이므로 데이터를 순차적으로 접근하고 관리할 때 유용하다.
  • 위치에 상관없이 삽입과 삭제가 빠르다.
  • 삽입, 삭제 O(1), 탐색, 임의 원소 접근 O(n) 보장한다.

deque

  • 임의 접근이 가능하며, 앞과 뒤에서의 삽입이 빠르다.
  • 삽입, 삭제, 탐색 O(1), 임의 원소 접근 O(n) 보장한다.

map

  • 특정 키(key)로 데이터를 접근하고 관리할 수 있다.
  • 키로 값에 접근하며 삽입과 삭제가 빠르다.
  • 삽입, 삭제, 탐색 모두 O(log n) 보장

set

  • 원소들을 순서대로 관리하며 소속 검사와 삽입, 삭제가 빠르다.
  • 중복된 원소를 허용하지 않는다. (map과 set의 차이점은 set은 값이 곧 키)
  • 삽입, 삭제, 탐색 모두 O(log n) 보장

stack

  • top에서만 삽입과 삭제가 가능하다.
  • LIFO 방식으로 데이터를 삽입, 삭제한다.
  • 삽입, 삭제 O(1) 보장

queue

  • 삽입은 뒤쪽에서, 삭제는 앞쪽에서 수행한다.
  • FIFO 방식으로 데이터를 삽입, 삭제한다.
  • 삽입, 삭제 O(1) 보장

 

STL 컨테이너는 데이터를 저장하는 방식과 삽입, 정렬, 삭제하는 관리 방식에 따라 크게 세 가지 부류로 나눠 볼 수 있다.

 

자세한 내용은 밑 주소에 정리해놨으니 참고

https://dongyeop00.tistory.com/93

 

C++ - 표준 템플릿 라이브러리(STL)

표준 템플릿 라이브러리 (Standard Template Library)란?c++용 일반 프로그래밍 도구 세트를 제공하는 컨테이너 클래스, 알고리즘, 이터레이터 라이브러리이다.STL은 C++ 표준 라이브러리의 확장으로 만들

dongyeop00.tistory.com

 

'🔊 Language > C++' 카테고리의 다른 글

C++ - TCP 소켓 통신을 사용해보자  (0) 2024.08.14
C++ - Map  (0) 2024.08.01
C++ - Stack  (0) 2024.07.29
C++ - Vector  (0) 2024.07.29
C++ - 우분투에서 Boost Library 설치하기  (0) 2024.07.19