➰ Library/C & C++

[C++] vector - 벡터 개념정리

 사과개발자 2020. 7. 30. 17:13
1. vector 란?

    유동적으로 크기 조절이 가능한 배열 (자동으로 할당됨)

 

2. vector 를 사용하기 위한 헤더파일
#include <vector>

 

3-1. vector 선언 
//vector <자료형> 벡터명;

vector <int> v1;
vector <char> v2;
vector <string> v3;

 

3-2. vector 선언 (초기화 포함)
//int
vector <int> v1;                   // 초기화 x
vector <int> v2(10);               // 각각이 0으로 초기화된 10개의 원소를 가진 vector (default값이 0)
vector <int> v3(7, 5);             // 각각이 5로 초기화된 7개의 원소를 가진 vector
vector <int> v4{0, 1, 2, 3};       // {}안의 원소들로 초기화 된 vector
vector <int> v5(v2);               // v2를 복사한 vector


//char
vector <char> v1;                // 초기화 x
vector <char> v2{'a', 'b', 'c'}; // {}안의 원소들로 초기화 된 vector
vector <char> v3(10);            // 각각이 ' '(스페이스)로 초기화 된 10개의 원소를 가진 vector 
                                 // (default값이 ' ')


//string
vector <string> v1{"ab", "xyx"};         // {}안의 원소들로 초기화 된 vector
vector <string> v1 = {"ab", "xyx"};      // {} list를 복사한 vector

 

4. vector 의 멤버함수

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

2) v.empty()  : v가 비어있으면 true(1), 비어있지 않으면 false(0)를 반환

3) v.front() : v의 첫번째 원소를 반환

4) v.back() : v의 첫번째 원소를 반환

5) v.at(i) : v의 i번째 원소  // v[i] 와 같음

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

7) v.push_back(5) : v의 맨 뒤에 원소 '5'를 추가

8) v.pop_back() : v의 맨 뒤의 원소 꺼내기

9) v.insert(i, 5) : v의 i번째 위치에 원소 '5'를 추가

10) v.insert(i, 7, 5) : v의 i번째 위치에 7개의 원소 '5'를 추가 (v의 size가 5만큼 늘어남)

11) v.erase(i) : v의 i번째 원소 삭제 (v의 size가 1만큼 줄어듬)

12) v1.swap(v2) : v1과 v2를 swap

 

5. vector 의 반복자(iterator)

1) v.begin() : v의 첫번째 원소를 가리키는 iterator

2) v.end() : v의 마지막 원소 다음을 가리키는 iterator (마지막원소 x)

 

6. 2차원 vector
// 1차원 vector를 10개 생성하는 2가지 방법
vector <int> v1[10];  
vector <vector <int>> v2[10];

// 10*10 2차원 벡터의 원소를 전부 0으로 초기화한 것
vector<vector<int>> v3(10, vector<int>(10,0)); 

 

 

반응형