본문 바로가기
프로그래밍

[STL] Vector 정리

by _BlankSpace 2017. 4. 14.


Vector는 대표적인 시퀀스 컨테이너.


- 임의 접근 반복자를 지원하는 배열 기반 컨테이너.

- 원소가 하나의 메모리 블록에 연속으로 저장되는 형태.

- 그러므로 원소를 추가하거나 삽입될 때, 메모리의 재할당이 발생할 수 있어서 비효율적일 수 있다.

- 하지만 미리 구현된 메소드로 인해 사용하는 데 편하다.

- 원소가 연속으로 저장되므로 [] 연산자 또는 at으로 읽기는 빠르지만 insert(), erase(), push_back() 등은 비효율적으로 동작한다.



 생성자

 vector v

 v는 빈 컨테이너.

 vector v(n)

 v는 기본값으로 초기화된 n개의 원소를 갖는다.

 vector v(n, x)

 v는 x값으로 초기화된 n개의 원소를 갖는다. 

 vector v(v2)

 v는 v2 컨테이너의 복사본이다. (복사 생성자 호출)

 vector v(b, e)

 v는 반복자 구간 [b, e)로 초기화된 원소를  



멤버함수

 v.assign(n, x)

 v에 x값으로 n개의 원소를 할당한다. 

 v.assign(b, e)

 v를 반복자 구간 [b, e)로 할당한다. 

 v.at(i)

 v의 i번째 원소를 참조한다. 

 v.back()

 v의 마지막 원소를 참조한다. 

 p = v.begin()

 p는 v의 첫 원소를 가리키는 반복자.

 x = v.capacity()

 x는 v에 할당된 공간의 크기. 

 v.clear()

 v의 모든 원소를 제거한다. 

 v.empty()

 v가 비었는 지 확인한다. 

 p = v.end()

 p는 v의 끝을 표식하는 반복자. 

 p = v.erase(b, e)

 반복자 구간[b, e)의 모든 원소를 제거한다. q는 다음 원소. 

 v.front()

 v의 첫 번째 원소를 참조한다. 

 q = v.insert(p, x)

 p가 가리키는 위치에 x 값을 삽입한다. q는 삽입한 원소를 가리키는 반복자.

 v.insert(p, n, x)

 p가 가리키는 위치에 n개의 x값을 삽입한다. 

 v.insert(p, b, e)

 p가 가리키는 위치에 반복자 구간 [b, e)의 원소를 삽입한다. 

 x = v.max_size()

 x는 v가 담을 수 있는 최대 원소의 개수(메모리의 크기) 

 v.pop_back()

 v의 마지막 원소를 제거한다. 

 v.push_back()

 v의 끝에 x를 추가한다. 

 p = v.rbegin()

 p는 v의 역 순차열의 첫 원소를 가리키는 반복자. 

 p = v.rend()

 p는 v의 역 순차열의 끝을 표식하는 반복자. 

 v.reserve(n)

 n개의 원소를 저장할 공간을 예약한다. 

 v.resize(n)

 v의 크기를 n으로 변경하고 확장되는 공간의 값을 기본값으로 초기화 한다. 

 v.resize(n, x)

 v의 크기를 n으로 변경하고 확장되는 공간의 값을 x 값으로 초기화한다. 

 v.size()

 v의 원소 갯수 

 v.swap(v2)

 v와 v2를 swap한다. 



출처 : http://hyeonstorage.tistory.com/324

'프로그래밍' 카테고리의 다른 글

[C++ 정복하자] 클래스의 기본  (0) 2017.05.20
[c++ 정복하자] 목차  (0) 2017.05.13
STL vector sort(벡터 정렬) (2)  (0) 2017.04.08
STL vector sort(벡터 정렬) (1)  (1) 2017.04.08
STL Vector정리(1)  (0) 2017.04.08

댓글