<vector> STL 정리
- 상단에 #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
[STL] vector 벡터 정리 및 예제
[STL] vector 벡터 정리 및 예제 vector 컨테이너는 대표적인 시퀀스 컨테이너로 배열과 비슷하여 사용이 쉬우며 자주 사용된다. vector는 임의 접근 반복자(Random Access Iterator)를 지원하는 배열 기반 컨
hyeonstorage.tistory.com
[C++] vector container 정리 및 사용법
안녕하세요. BlockDMask 입니다. 오늘은 C++ STL의 sequence container 중에 정말 자주 쓰는 vector에 대해서 알아보겠습니다. <목차> 1) vector container 란? 2) vector의 사용 3) vector의 생성자와 연산..
blockdmask.tistory.com