Algorithm/C++ STL

<vector> STL 정리

supremo7 2020. 12. 17. 00:20

- 상단에 #include <vector>로 헤더를 추가해서 사용한다.

 

<생성자>

vector v : 빈 컨테이너인 v 생성

vector v(n) : 0으로 초기화된 n개의 원소를 갖는 v생성

vector v(n,x) : x로 초기화된 n개의 원소를 갖는 v생성

vector<vector<int>> v(6, vector<int>(5, 0)) : 6행 5열, 모든 원소 0인 v생성

 

<멤버함수>

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

 

v.push_back(x) : v의 끝에 x를 추가

v.insert(p,x) : v의 p번째 위치에 x를 삽입

 

v.pop_back() : 마지막 원소를 삭제//반환값 없다!!

v.erase(p) : v의 p(주소)위치 원소를 삭제

v.erase(b,e) : v의 [b,e)구간 원소를 삭제

 

v.front() : 벡터의 첫번째 원소 반환

v.back() : 벡터의 마지막 원소 반환

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

v.end(): 벡터의 마지막 원소 다음을 가리키는 iterator (마지막 원소 아님!!)

v.size() : 벡터의 원소의 수

v.empty() : 벡터가 비어있으면 true 반환

 

//iterator를 통해서 원소에 접근

for (auto i = v.begin(); i != v.end(); i++) {

    cout << *i << endl;

}

또는

for (int i = 0; i < a.size(); i++) {

    cout << a[i] << endl;

}

 

합 한번에 구하기 sum = accumulate(v.begin(), v.end(), 0)// 세번째 인자는 'initial value of the sum', 즉 합의 초기값

long long 쓰려면 long long sum = accumulate(v.begin(), v.end(), 0LL);

 

int cnt = count(v.begin(), v.end(), item);//벡터에 있는 item수를 반환

find(v.begin(), v.end(), item) != v.end();// true면 벡터에 item존재

int pos = find(v.begin(), v.end(), item) - v.begin // 벡터에 있는 item의 인덱스를 반환

 

sort(v.begin(),v.end())로 정렬

 

int max = *max_element(v.begin(), v.end())//vector안에서 최댓값 반환

 

reverse(v.begin(), v.end())// vector안 순서 뒤집기

 

 

참고: velog.io/@choiiis/C-vector-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%A0%95%EB%A6%AC

 

[C++] STL vector 클래스 정리

내가 보려고 쓰는 정리 글. vector? / 벡터의 생성자와 초기화 / vector의 함수들 / 2차원 벡터와 벡터 배열의 차이 / 벡터의 정렬 / 벡터의 size()와 capacity(), 그리고 resize()와 reserve()

velog.io

hyeonstorage.tistory.com/324

 

[STL] vector 벡터 정리 및 예제

[STL] vector 벡터 정리 및 예제 vector 컨테이너는 대표적인 시퀀스 컨테이너로 배열과 비슷하여 사용이 쉬우며 자주 사용된다. vector는 임의 접근 반복자(Random Access Iterator)를 지원하는 배열 기반 컨

hyeonstorage.tistory.com

blockdmask.tistory.com/70

 

[C++] vector container 정리 및 사용법

안녕하세요.  BlockDMask 입니다. 오늘은 C++ STL의 sequence container 중에 정말 자주 쓰는 vector에 대해서 알아보겠습니다. <목차> 1) vector container 란? 2) vector의 사용 3) vector의 생성자와 연산..

blockdmask.tistory.com