안녕 세상아,

[c++/벡터] 벡터 생성, 삽입, 삭제, 정렬 본문

c++ 개념

[c++/벡터] 벡터 생성, 삽입, 삭제, 정렬

돈 많은 백수가 되고싶다 2024. 4. 6. 17:29

벡터는 배열 기반 컨테이너이다. 사용할 때 헤더에 #include <vector>를 써줘야 한다.

벡터는 배열에 비해 속도적인 측면에서 성능은 떨어지지만 메모리를 효율적으로 관리하고 예외 처리가 쉽다는 장점이 있어서 많이 사용하고 있다. 또한 배열과 사용법이 거의 비슷해서 배열을 알고있다면 사용하기 매우 쉽다는 장점이 있다.

vector 초기화

vector<자료형> 변수명 벡터 생성
vector<자료형> 변수명(숫자) 숫자만큼 벡터 생성 후 0으로 초기화
vector<자료형> 변수명 = {변수 1, 변수 2, 변수 3...} 벡터 생성 후 오른쪽 변수 값으로 초기화
vector<자료형> 변수명[] = {, } 벡터 배열(2차원 벡터)선언 및 초기화 (열은 고정, 행은 가변)
vector <vecto<자료형> 변수명 2차원 벡터 생성 (열과 행 모두 가변)
vector<자료형> 변수명.assign (범위, 초기화할 값) 벡터의 범위 내에서 해당 값으로 초기화


vector 사용법

vector<int> v;

v.push_back (1); //마지막에 삽입
v.pop_back();  //마지막 원소 제거
v.claer(); //모두 제거

v.insert (1, 2, 3); //1번째 위치에 3을 2개 삽입
v.insert (1, 2); //1번째 위치에 2 삽입
v.erase (n); //n이 가르키는 위치 삭제
v.erase (n, m); //n부터 m까지 범위 삭제

v.empty(); //vector가 비어있는지 확인
v.size(); //vector 사이즈 리턴​


정렬
sort (v.begin(), v.end()); //오름차순 정렬
sort (v.begin(), v.end(), greater<int>() ); //내림차순 정렬

reverse(v.begin(), v.end()); // 역순 정렬​