<vector> 헤더 파일에 포함되어 있는 STL Container로 어떠한 자료형도 저장 가능한 동적 배열이다.
임의 접근 (Random Access) 이 가능하다.vector <데이터 타입> 이름;vector <데이터 타입> 이름 (vector 크기);vector <데이터 타입> 이름 (vector 크기, 초기화 상수);깊은 복사 하려는 경우) : vector <데이터 타입> 이름 (복사할 vector의 이름);(Random Access) : O(1)O(1)O(n)capacity 와 size의 관계
capacity : vector에 할당된 공간의 수를 의미한다.size : vector에 실제로 들어있는 요소의 갯수를 의미한다.size가 capacity 보다 커지는 경우, 현재 vector에는 capacity 이상의 요소를 저장할 수 없다.
현재 vector의 capacity 값보다 더 큰 갯수의 요소를 저장하려고 할 때, 새로운 메모리 공간을 다시 할당하고, 할당 받은 메모리에 vector의 기존 원소를 복사한 다음, 기존 메모리 공간을 해제하는 과정이 진행된다.
push_frontvector에서 push_front 동작은 배열의 모든 요소를 한 칸식 밀어 비워진 0번째 자리에 값을 넣는 형태로 진행된다.
이러한 일련의 과정의 시간 복잡도는 O(n)으로, vector의 장점인 빠른 속도를 살리지 못하여 vector의 사용 의미를 잃게 된다.
처음 or 임의의 위치에 원소를 추가 / 제거하는 동작이 빈번하게 일어나는 경우, vector의 사용을 지양할 것을 권장한다.