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
'🔊 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 |