반응형
list, vector, tree 등 여러개의 데이터를 보관하는 자료구조
- 특징
- 배열은 크기 변경이 불가능 하지만 STL vector는 크기 변경 가능
- 통일된 멤버 함수
- 대부분 코드 수정 없이 컨테이너 교체 가능
- 요소 삽입 : push_front, push_back, insert
- 요소 제거 : pop_front, pop_back, erase
- 요소 접근 : front, back
- vector는 앞에 삽입할 수 없다.(push_fron 함수 x)
- 주의사항
- pop_back : 제거만 하고 리턴 하지 않음
- back : 리턴만 하고 제거하지 않음
#include <iostream>
#include <vector>
#include <list>
int main()
{
int x[10];
std::vector<int> v(10);
v.resize(5);
std::list<int> s1 = { 1,2,3 };
std::vector<int> s2 = { 1, 2, 3 };
s1.push_front(10);
s1.push_back(10);
s1.push_back(10);
s1.pop_back();
int n2 = s1.back();
int n3 = s1.back();
s1.pop_back();
int n4 = s1.back();
}
- array
- <array>
- C의 배열과 유사한 자료구조
- vector
- <vector>
- 크기를 변경할 수 있는 동적 배열
- list
- <list>
- 더블 리스트
- forward_list
- <forward_list>
- 싱글 리스트
- deque
- <deque>
- list와 vectort의 혼합형 자료구조
- set
- <set>
- tree
- map
- <map>
- tree를 사용해서 key와 data 저장
- unordered_set
- <unordered_set>
- hash
- unordered_map
- <unordered_map>
- hash를 사용해서 key와 data 저장
- stack
- <stack>
- 스택
- queue
- <queue>
- 큐
- priority_queue
- <queue>
- 우선순위 큐
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ STL 알고리즘(Algorithm) (0) | 2019.05.12 |
---|---|
C++ STL 반복자(iterator) (0) | 2019.05.12 |
C++ STL(Standard Template Library) (0) | 2019.05.11 |
C++ 연산자 재정의 활용(String 클래스 만들기) (0) | 2019.05.11 |
C++ 대입 연산자(assignment) (0) | 2019.05.10 |