STL[컨테이너]
목차
위의 목차를 클릭하면 해당 글로 자동 이동 합니다.
STL이란?
STL은 C++에 내장된 템플릿 기반의 라이브러리이며, 크게 컨테이너,반복작(Iterator),알고리즘으로 구성되어있다
컨테이너란?
컨테이너는 데이터를 안전하고 편리하게 담아두는 창고라고 할수있습니다.
vector
1.동적 배열로 구현된 컨테이너 입니다
2.연속적인 메모리 블록을 사용해서 랜덤 접근이 빠른 편입니다.
3.원소를 추가/삭제할 때 마지막 원소에 대해 가장 효율적입니다.
4.중간에 삽입/삭제 시 비효율적입니다
주요함수
- push_back(value): 맨 뒤에 원소 추가
- pop_back(): 맨 뒤 원소 제거
- size(): 원소 개수 반환
- capacity(): 현재 할당된 메모리 크기
- at(index): 지정된 인덱스의 원소 반환 (범위 초과 시 예외 발생)
- front(): 첫 번째 원소 반환
- back(): 마지막 원소 반환
- clear(): 모든 원소 제거
- insert(iterator, value): 지정된 위치에 원소 삽입
- erase(iterator): 지정된 위치의 원소 제거
- data(): 내부 배열 포인터 반환
List
1.이중 링크드 리스트로 구현된 컨테이너 입니다
2.앞/뒤로 자유롭게 탐색이 되고 삭제가 매우 효율적입니다.
3.메모리가 연속적이지 않으며 랜덤 접근은 느립니다.
4.중간 삽입/삭제가 매우 효율적입니다.
5.순차적 데이터 추가/삭제에 적합합니다.
주요함수
- push_back(value): 맨 뒤에 원소 추가
- push_front(value): 맨 앞에 원소 추가
- pop_back(): 맨 뒤 원소 제거
- pop_front(): 맨 앞 원소 제거
- insert(iterator, value): 지정된 위치에 원소 삽입
- erase(iterator): 지정된 위치의 원소 제거
Deque
1. 양방향으로 동적 배열처럼 동작하는 컨테이너 입니다.
2. 임의 접근이 가능하며, 양쪽 끝에서의 삽입/삭제가 빠릅니다.
3.중간 삽입/삭제는 비효율적입니다.
4.스택이나 큐와 같은 동작이 필요한 경우 유용합니다.
주요함수
- push_back(value): 맨 뒤에 원소 추가
- push_front(value): 맨 앞에 원소 추가
- pop_back(): 맨 뒤 원소 제거
- pop_front(): 맨 앞 원소 제거
- at(index): 지정된 인덱스의 원소 반환 (범위 초과 시 예외 발생)
- front(): 첫 번째 원소 반환
- back(): 마지막 원소 반환
- clear(): 모든 원소 제거
- insert(iterator, value): 지정된 위치에 원소 삽입
- erase(iterator): 지정된 위치의 원소 제거
'C++' 카테고리의 다른 글
| 온라인 학습 관리 시스템 구현해보기 (0) | 2025.02.07 |
|---|---|
| 반복자 (1) | 2025.02.05 |
| OOP 단계별 프로젝트2 (0) | 2025.01.23 |
| Chapter 04 클래스의 완성 (0) | 2025.01.09 |
| Chapter 03 클래스의 기본 (1) | 2025.01.07 |