STL
STL(Standard Template Library)은 C++에서 다양한 알고리즘, 컨테이너, 함수, 이터레이터를 제공한다.
많은 내용이 있지만 내가 실제로 알고리즘 문제를 풀기 위해 사용할 만한 내용만을 정리한다.
시험과 SCPC에서는 C++ 11을 지원하지 않으니, 이점을 잘 숙지해야 한다.
Container: 데이터를 보관하고 관리하는 자료구조의 모임 (Vector, List, Stack, ...)
Iterator: 모든 컨테이너 안에 저장된 데이터에 접근할 수 있도록 해주는 반복자 (포인터라고 생각하자.)
vector<char> v(10);
vector<char>::iterator p;
for(p = v.begin(); p<v.end(); ++p){ // begin()은 컨테이너의 시작 원소를, end()는 마지막 원소의 다음을 가리킨다. -> for문의 실행 범위는 [begin, end)이다.
*p = 'a'; // 일종의 포인터이기 때문에 *연산자로 원소의 값을 다룬다.
}