vector 클래스는 배열을 표현하기 위해 사용되는 클래스이다. 따라서 기본적인 사용 방법은 배열 사용 방법과 매우 유사하다.
//vector 생성
vector<int> v(5); //vector 크기 5짜리 생성
vector<int> v({1, 2, 3, 4}) //숫자로 초기화
vector<int> v(5, 1); //5개 벡터 1로 초기화
//2d vector 생성
vector<vector<int>> v({1,2,3},{2,3,4}); //2x3 2차원 벡터
vector<vector<int>> v(11, vector<int>(11, 1));
//11x11 2d vector 1로 초기화
생성은 이정도로 알아보고 기본적으로 vector 컨테이너에 들어있는 유용한 함수들에 대해서 알아봅시다.
v.at(n)
원형: at(size_type pos);
원형: at(size_type pos) const;
함수 설명: pos 값을 파라미터로 넘겨주면 넘겨준 위치의 특정 원소를 반환한다.
v.front()
v.back()
함수 설명: 각각 맨 앞과 맨 뒤의 원소의 값을 리턴해준다.
v.begin()
v.end()
함수 설명: 이터레이터가 각각 맨앞과 맨뒤 원소를 가리킬수 있게 위치를 반환한다.
v.rbegin()
v.rend()
함수 설명: 이터레이터가 각각 맨뒤 맨앞 원소를 가리킬수 있는 위치를 반환한다.
v.empty()
원형: bool empty() const;
함수 설명: 함수가 비어있는지 확인해주는 함수
v.size()
원형: size_type size() const;
함수 설명: 원소의 개수를 리턴한다.
v.max_size()
원형: size_type max_size() const;
함수 설명: 원소중에서 가장큰 컨테이너의 숫자를 반환해준다.
v.reserve(n)
원형: void reserve(size_t new_cap);
함수 설명: 벡터의 capacity를 new_cap만큼 늘려준다. 만약 new_cap의 용량이 기존 capacity()보다 크다면 새로운 메모리가 allocate된다.
v.capacity()
원형: size_type capacity() const;
함수 설명: 컨테이너가 가지고 있는 원소의 갯수를 반환해준다. 즉 쉽게 말해서 vector의 크기를 반환한다.
v.shrink_to_fit()
원형: void shrink_to_fit();
함수 설명: 사용하지 않는 메모리를 지금 현재 사용중인 크기만큼으로 줄여준다.
v.clear()
원형: void clear();
함수 설명: 모든 벡터의 원소를 삭제하고 size()는 0이된다.
v.insert(n, item)
원형: iterator insert(iterator pos, const T& value);
원형: iterator insert(const iterator pos, const T& value);
원형: iterator insert(const iterator pos, const T&& value);
함수 설명: value를 pos-1위치에 삽입한다.
v.emplace(n, args)
원형: iterator emplace(const_iterator pos, Args&&... args)
함수 설명: pos직전에 원소를 삽입해준다.
v.erase(n)
원형: iterator erase(iterator pos);
함수 설명: n위치에 있는 원소를 삭제한다.
v.push_back(n)
원형: void push_back(const T& value);
함수 설명: 벡터의 맨뒤에 n을 삽입해준다.
v.emplace_back()
원형: void emplace_back(Args&&.. args);
함수 설명: 벡터 컨테이너 맨 뒤에 원소를 삽입해준다.
v.pop_back()
원형: void pop_back();
함수 설명: 벡터의 맨 뒤에 있는 원소를 삭제해준다.
v.resize(n)
원형: void resize(size_t count, T value = T());
void resize(size_t count);
함수 설명: 원하는 크기만큼 사이즈를 변경시켜준다. 원래 함수 크기가 a라고 하면 resize(n)을 하면 사이즈가 n으로 바뀐다.
v.swap(x, y)
원형: static void swap(reference x, reference y);
함수 설명: 참조로 x와 y의 값을 교환해준다.