728x90
반응형
SMALL
라이브러리 추가
#include <vector>
using namespace std;
성질
- 맨 뒤에서 삽입과 삭제가 가능
- 중간에 값을 삽입, 삭제할 수 있음
선언
vector<int> v1;
vector<int> v2(5); // 사이즈 5인 벡터 v2
vector<int> v3(5,0); // 0으로 초기화 된 사이즈 5인 벡터 v3
vector<int> v4(v1); // v1을 복사한 벡터 v4
vector<vector<int>> v2;
vector<pair<int,int>> v3;
사용
삽입
v1.push_back(a);
v2[3] = a;
q = v.insert(p,x);
p가 가리키는 자리에 x값 삽입. q는 삽입한 원소 가리키는 반복자
제거
v1.pop_back();
q = v1.erase(p);
p가 가르키는 자리 원소 지움. q는 다음 원소 가리키는 반복자v1.erase(v.begin()+4);
5번째 원소 지움v1.erase(v.begin()+2, v.begin()+5);
3번째부터 5번째 원소 지움
참조
v2.front();
맨 앞의 원소 참조v2.back();
맨 끝의 원소 참조v2.at(i);
i번째 원소 참조p = v2.begin();
첫 원소 반복자 반환p = v2.end();
끝 표시 반복자 반환 (마지막 요소의 다음 요소)
크기
v1.size();
iterator 사용
vector<int>::iterator iter=v.begin();
정렬
#include <algorithm>
#include <vector>
vector<int> v1;
sort(v1.begin(),v1.end());
vector< pair<int, int> > v3;
bool cmp(const pair<int, int> &a, const pair<int, int> &b) {
return a.first < b.first;
}
sort(v3.begin(), v3.end(), cmp);
//lower, upper bound 사용법
auto left = upper_bound(v3.begin(), v3.end(), v3[i], cmp);
auto right = lower_bound(v3.begin(), v3.end(), v3[j], cmp);
728x90
반응형
LIST
'그 외 코드 > C, C++' 카테고리의 다른 글
[C/C++] Visual Studio BLE(Bluetooth LE) 데이터 읽기 (Window 10) (0) | 2020.09.18 |
---|---|
[C++ gnuplot] Visual Studio로 데이터 받아 2D/3D chart, 그래프 그리기 (0) | 2020.09.15 |
[C언어] 십진수 이진수로 바꾸는 코드 (0) | 2020.01.08 |
int, string, char 형변환 (0) | 2019.12.07 |