자료구조/STL

[STL] Vector 벡터

히더 2018. 9. 7. 15:35

Vector 벡터

배열 기반의 컨테이너이다. 


벡터를 통해 동적으로 확장 축소가 가능하며 벡터의 맨 앞, 끝에 삽입/삭제가 빠르다. 또한 함수를 통해 다양한 기능이 있으며

개별 원소들에 대한 iterator, position index접근이 가능하다.


원소 중간에 삽입/삭제는 느리므로 list를 사용하는게 좋고 많은 양보다는 적은 양의 자료일때 유용하다.

그리고 동적으로 되므로 메모리에 주의하여 사용하여야 한다.


#include <vector>


vector <int> v : int형 vector v 선언

vector v(n) : n개의 원소를 가진 v 선언

vector v(n,a) : a로 초기화된 n개의 원소를 가진 v 선언

vector v(v2) : vector v2를 v에 복사


v.assign(n,a) : a값으로 n개의 원소를 v에 할당

v.at(a) : a번째 원소 (범위를 점검, 안전)

v[a] : a번째 원소 (범위를 점검X, 빠름)

v.front() : 제일 앞 원소

v.back() : 마지막 원소

v.begin() : beginning iterator

v.end() : end iterator

v.clear() : 모든 원소 제거 ( 메모리는 제거X)

v.empty() : 비었는지 판단

v.erase(i) : i가 가리키는 곳 제거

v.erase(a,b) : [a,b) 범위 제거

v.insert(a,b) : a위치에 b삽입

v.insert(a,b,c) : a위치에 b개의 c 삽입  /  a위치에 [b,c)의 원소 삽입   (값인지 iterator인지의 차이)

v.max_size() : 최대 원소 개수 (메모리 크기)

v.size() : 원소의 개수

v.capacity : 메모리 크기

v. pop_back() : 마지막 원소 제거

v. push_back(a) : v의 끝에 a추가

v.rbegin() : 역 순의 첫 원소 가리킴

v.rend() : 역 순의 마지막의 다음 가리킴

v.reserve(n) : n개의 원소 공간 미리 동적할당

v.resize(n) : 크기를 n으로 변경

v.resize(a,b) : 크기를 a로 변경하는데 더 커졌을 경우 b로 초기화




작성자 : 히더