Language/C++

(C++)vector(동적배열) 정리 및 사용법

doheun 2023. 1. 10. 15:59
반응형

vector (동적배열)

image

정적배열과 같은 방법으로 사용할 수 있으며 다양한 함수를 이용해서 삽입,삭제 등 편리하게 이용할 수 있는 c++ 컨테이너
동적배열이기 때문에 배열에 들어갈 요소의 개수를 모를 때 사용

헤더

#include<vector>

선언

vector<타입> 변수명;

push_back();

vector<int> v;
    for (int i = 1; i <= 3; i++) {
        v.push_back(i);
    }
    //1 2 3 

vector의 맨 뒤의 부터 차례로 넣는다.

pop_back();

v.pop_back();

pop_back()을 한번 수행하면 vector에는 맨 뒤의 요소부터 지우기 때문에 1 2가 남는다.

erase();

v.erase(v.begin(), v.end());

vector이름.erase(from,to) 형태로 선언하고 시작과 끝의 인덱스를 생략할 수 있다.
from부터 to까지 벡터의 요소들을 지운다.

empty()

vector<int> v;
    if (v.empty()) {
        cout << "empty" << '\n';
    }

vector가 비어있는지 아닌지 확인해 주는 함수

for문 출력(2가지 방법)

1.
for (int i = 0; i < v.size(); i++) {
        cout << v[i] << ' ';
    }
    //1 2 3
2.
for (int i : v) {
        cout << i << ' ';
    }
    1 2 3

2번째 방법은 vector의 범위 내에 있는 요소를 알아서 출력해준다.

vector<pair<자료형,자료형>> 이름

pair를 이용해서 두가지 값을 한번에 넣을 수 있다.

 vector<pair<int, string>> vv;
    vv.push_back({ 1,"name" });
    for (auto ele : vv) {
        cout << ele.first << ' ' << ele.second;
    }
    //1 name

다양한 형태의 vector선언

//값이 10이고 크기가 3인 벡터 생성
    vector<int> v1(3,10);
    //10 10 10

//vector배열 3개 생성
    vector<int> v2[3];

 

반응형