vector

Programming/STL 2014. 6. 2. 09:34

vector

사용가능한 컨테이너함수: push_back(), pop_back();

벡터의 문제점: 메모리의 재할당, 느리다

 

vector<int> vec(3); //0으로 초기화된 벡터 3개를 미리 선언

vec.clear();   //vec안의 원소들을 모두 지움

vec.empty(); //비어있다면 true를 반환함

 

자주 사용되는 것들

vector<int>::iterator p;

vector<int>::iterator q;

 

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

vector v(n,x) : v는 x값으로 초기화된 n개의 원소를 갖는다.

vector v(v2) : v는 v2컨터이너의 복사본이다.

p = v.begin() : p는 v의 첫 원소를 가리키는 반복자이다.

p = v.end() : p는 v의 끝을 표식하는 반복자이다.

v.clear() : v의 모든 원소를 제거한다.

v.empty() : v가 비었는지 조사한다. 비었으면 true를 반환한다.

q = v.erase(p) : p가 가리키는 원소를 제거한다. q는 다음 원소를 가리킨다.

q = v.erase(b,e) : 반복자구간[b,e)의 모든 원소제거, q는 다음 원소를 가리킨다

q = v.insert(p,x) : p가 가리키는 위치에 x값을 삽입. q는 삽입한 원소를 가리킴

v.push_back(x) : v의 끝에 x값을 추가한다.

v.pop_back() : v의 마지막 원소를 제거한다.

v.size() : v원소 개수의 반환

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

v.front() : 첫 원소 참조

v.back() : 마지막 원소 참조

v.assign(n,x) : n개의 원소에 x값을 할당한다.

v.reserve(n) : n공간만큼 미리 만들어놓고 쓴다(n만큼은 재할당이 일어나지 않는다)

v.resize(n) : n만큼 사이즈 변경, v(3)같이 초기화된 경우 3->n으로

 

임시객체와 swap을 이용해 지우는 방식

vector<int>().swap(v)    //swap은 같은 컨테이너끼리, 같은 자료형끼리 가능

 

 

 

 

 

 

 

'Programming > STL' 카테고리의 다른 글

Map  (0) 2014.06.02
List  (0) 2014.06.02
반복자, 조건자  (0) 2014.06.02
STL 개요  (0) 2014.06.02
Posted by 눈떠보니내무실
,