프로그래밍/자료구조

C++ STL-벡터(std::vector)-사용법

강경민님 2023. 9. 19. 10:01

다양한 선언 방법

std::vector<int> vec;    //크기가 0인 벡터 선언

std::vector<int> vec = {1,2,3,4,5};    //지정한 초기값으로 이루어진 크기가 5인 벡터 선언

std::vector<int> vec(10);    //크기가 10인 벡터 선언

std::vector<int> vec(10, 5);    //크기가 10이고, 모든 원소가 5로 초기화된 벡터 선언

 

값 추가

std::vector<int> vec;    //비어 있는 벡터 생성: {}

vec.push_back(1);    //맨 뒤에 1 추가: {1}

vec.push_back(2);    //맨 뒤에 2 추가: {1, 2}

vec.insert(vec.begin(), 0);    //맨 앞에 0 추가: {0, 1, 2}

vec.insert(find(vec.begin(), vec.end(), 1), 4);    //1 앞에 4 추가: {0, 4, 1, 2}

 

값 삭제

std::vector<int> vec = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

//맨 마지막 원소 하나 제거: {0, 1, 2, 3, 4, 5, 6, 7, 8}
vec.pop_back();

 //맨 처음 원소 하나 제거: {1, 2, 3, 4, 5, 6, 7, 8}
vec.erase(vec.begin());

//1번째 원소부터 4번째 앞 원소까지 제거: {1, 5, 6, 7, 8}
vec.erase(vec.begin() + 1, vec.begin() + 4);

 

그 외 함수

clear() : 모든 원소 제거

reserve(capacity) : 매개변수로 지정한 값이 현재 용량보다 크면 재할당 같거나 작으면 아무동작 하지 않음

shrink_to_fit() : 여분의 메모리 공간 해제