1. 벡터(Vector)란,
- 런타임에 그 크기가 변경될 수 있는 배열과 같은 자료구조이다.
- 배열과 거의 유사하게 사용할 수 있다.
- 인덱스 구조를 사용하기 때문에 임의 접근이 가능하고 탐색이 빠르다.
- 하지만, 이러한 인덱스 구조를 항상 유지하기 위해서 임의의 위치에 있는 원소를 삽입 및 삭제하기 위해서는 많은 시간이 소요된다.
- <vector>라이브러리에 정의
- 네임스페이스 std에 정의
2. 벡터(Vector)의 생성
vector<int> v1; //int형의 벡터 생성
vector<int> v2(5); //int형의 크기가 5인 벡터 생성(모두 0으로 초기화)
vector<int> v3(v2); //int형의 v2와 같은 크기인 벡터 생성
//(v2와 같은 값 가짐)
3. 값 할당 및 접근
- 배열처럼 []를 사용할 수 있고, push_back이라는 함수도 사용할 수 있다.
vector<int> v(5);
v[1] = 3; // 1번째 자리에 3 할당
v.push_back(5); // 벡터의 끝에 5할당
for(int i=0;i<v.size();i++) { // size를 이용한 접근
int temp = v[i];
}
for(vector<int>::iterator it = v.begin();it!=v.end();it++){
int temp = *(it);
} //iterator를 이용한 접근
4. 삽입 및 삭제, 크기와 용량
5. 주요 함수