<기본 함수>
#include <iostream>
using namespace std;
#include <vector>
int main()
{
// 생성 & 초기화
vector<int> v;
vector<int> v2(5, 2); // 2로 초기화된 5개의 원소를 가짐
// 여러 함수들
v.assign(3, 5); // 5의 값으로 3개 원소 할당
v.push_back(1); // 마지막 원소 뒤에 1을 삽입
v.pop_back(); // 마지막 원소 제거
cout << v.front() << endl; // 첫번째 원소
cout << v.back() << endl; // 마지막 원소
cout << v.size() << endl; // 원소 갯수
v.resize(5, 2); // 크기 변경, 더 커진 경우 초기화할 값
cout << v.size() << endl;
cout << v.back() << endl;
cout << v.capacity() << endl; // size, capacity는 다른 값을 가짐
v.swap(v2); // v1, v2의 원소와 capacity 전부 swap
cout << v2.empty() << endl; // 원소가 하나도 없으면 true
// 삽입, 삭제
vector<int>::iterator it;
it = v2.begin();
cout << v2.size() << endl; // 5
v2.insert(it+2, 2, 8); // 인덱스 2에 8을 두번 삽입
cout << v2.size() << endl; // 7
v2.insert(v2.begin(), 2, 8); // 인덱스 2에 8을 두번 삽입
cout << v2.size() << endl; // 9
v2.erase(v2.begin()+2); // 인덱스 2 원소 삭제
cout << v2.size() << endl; // 8
// 순회
for(vector<int>::size_type i=0; i<v2.size(); i++)
{
cout << v2.at(i) << " ";
}
cout << endl;
for(int i=0; i<v2.size(); i++)
{
cout << v2.at(i) << " ";
}
cout << endl;
for(it=v2.begin(); it!=v2.end(); it++)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
<vector 변경 및 순회>
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> v1 = {1,2,3,4,5,6};
vector<int> v2 = {1,2,3,4,5,6};
// vector 실제 원소값 바뀌지 않음
for(int e:v1)
{
e+=1;
}
// vector 실제 원소값 바뀜
for(int& e:v2)
{
e+=1;
}
for(int i=0; i<v1.size(); i++)
{
cout << v1[i] << ' ';
}
cout << '\n';
for(int i=0; i<v2.size(); i++)
{
cout << v2[i] << ' ';
}
cout << '\n';
return 0;
}