STL은 크게 2가지 컨테이너를 제공한다.
1. 시퀀스 컨테이너 - 모든 원소들이 자신만의 위치를 가지고 있는 순서가 존재하는 컬렉션
ex) vector,deque,list
2. 연관 컨테이너 - 모든 원소들의 정렬 기준에 의존하여 자동 정렬이되는 컬렉션
ex) set,multiset,map,multimap
3. vector - 자신의 원소들을 동적인 배열을 이용하여 관리한다.
랜덤액세스 가능하며 배열의 끝부분에 데이터를 추가하거나 삭제하는 것은 매우 빠르다.
하지만 데이터를 배열 중간이나 앞부분에 삽입하는 것은 많은 시간을 필요로 한다.. 밀림..
#include <vector>
vector<int> coll;
coll.push_back(data);
4. deque - 앞뒤로 data를 삽입,삭제가 가능한 배열구조이다.
앞뒤로 삽입,삭제하는것은 매우 빠르나
중간에 삽입하는 것은 시간을 필요로 한다...밀림
#include <deque>
deque<int> dell;
dell.push_front(data);
5. list - 이중리스트처럼 구현되 있다. 특정 원소를 액세스하기 위해 걸리는 복잡도는 느리다.
하지만 어떠한 위치에서도 빠르게 삽입과 삭제가 이루어진다.
#include <list>
list<char> listchar;
listchar.push_back(data);
listchar.pop_front(data);
6. set - 원소가 가진 값에 따라 정렬이 되는 컨테이너이다.
#include <set>
typedef std::set<int> intset;
intset coll;
coll.insert(3);
...
7. multiset - 중복을 허용한다.
8. map - key/value를 쌍으로 가지고 있는 컨테이너이다.
#include <map>
typedef std::map<int,string> intset;
intset coll;
coll.insert(make_pair(5,"tagged"));
...
9. multimap - 중복을 허용한다.
10. stack (LIFO)
11. queue(FIFO)
12. priority queue - 우선순위를 지닌 원소들을 관리하는 컨테이너(기본적으로 < 연산자를 기준으로 한다.)
13. 반복자 - 컨테이너가 소유한 원소들을 순회할 수 있는 객체이다.
1. 시퀀스 컨테이너 - 모든 원소들이 자신만의 위치를 가지고 있는 순서가 존재하는 컬렉션
ex) vector,deque,list
2. 연관 컨테이너 - 모든 원소들의 정렬 기준에 의존하여 자동 정렬이되는 컬렉션
ex) set,multiset,map,multimap
3. vector - 자신의 원소들을 동적인 배열을 이용하여 관리한다.
랜덤액세스 가능하며 배열의 끝부분에 데이터를 추가하거나 삭제하는 것은 매우 빠르다.
하지만 데이터를 배열 중간이나 앞부분에 삽입하는 것은 많은 시간을 필요로 한다.. 밀림..
#include <vector>
vector<int> coll;
coll.push_back(data);
4. deque - 앞뒤로 data를 삽입,삭제가 가능한 배열구조이다.
앞뒤로 삽입,삭제하는것은 매우 빠르나
중간에 삽입하는 것은 시간을 필요로 한다...밀림
#include <deque>
deque<int> dell;
dell.push_front(data);
5. list - 이중리스트처럼 구현되 있다. 특정 원소를 액세스하기 위해 걸리는 복잡도는 느리다.
하지만 어떠한 위치에서도 빠르게 삽입과 삭제가 이루어진다.
#include <list>
list<char> listchar;
listchar.push_back(data);
listchar.pop_front(data);
6. set - 원소가 가진 값에 따라 정렬이 되는 컨테이너이다.
#include <set>
typedef std::set<int> intset;
intset coll;
coll.insert(3);
...
7. multiset - 중복을 허용한다.
8. map - key/value를 쌍으로 가지고 있는 컨테이너이다.
#include <map>
typedef std::map<int,string> intset;
intset coll;
coll.insert(make_pair(5,"tagged"));
...
9. multimap - 중복을 허용한다.
10. stack (LIFO)
11. queue(FIFO)
12. priority queue - 우선순위를 지닌 원소들을 관리하는 컨테이너(기본적으로 < 연산자를 기준으로 한다.)
13. 반복자 - 컨테이너가 소유한 원소들을 순회할 수 있는 객체이다.