1. STL이란,
Standard Template Library, 표준 템플릿 라이브러리를 말한다. STL을 통해 프로그램에 필요한 자료구조와 알고리즘을 제공한다. STL은 std라는 이름공간에 저장되어 있어서 using namespace std;가 필요하다.
2. STL의 종류
1) 컨테이너(클래스)
데이터를 저장하고 관리하기 위한 라이브러리이다.
- 순차 컨테이너
- ex) vector, list, deque
- 일반적인 자료구조와 동일한 형태로 데이터를 순차적으로 저장한다.
- 자료를 입력한 순서대로 저장하므로 데이터를 저장하거나 검색하기에 불리하다.
- 따라서, 많지 않은 양의 자료를 저장하고나 검색속도가 중요하지 않은 경우에 주로 사용한다.
- 연관 컨테이너(Associative Container)
- ex) set, map, multiset, multimap
- 트리 구조의 자료구조로 이해할 수 있다.
- 자료를 정렬/해시 등을 이용해 저장하기 때문에 검색, 삽입, 삭제에 유리하다.
- 따라서, 많은 양의 자료를 빠르게 검색할 필요가 있는 경우에 주로 사용한다.
- 어뎁터 컨테이너(Adaptor Container)
- ex) stack, queue, priority_queue
- 데이터를 미리 정해진 방식에 따라 관리한다.
2) 반복자
컨테이너의 원소들을 순회할 수 있는 객체로 컨테이너의 특정한 위치를 가리킨다.
3) 알고리즘(함수)
#include <algorithm>
이를 이용하면 미리 만들어진 함수로 탐색(searching), 정렬(sorting), 계수(counting) 등이 가능하다.