c++로 알고리즘 문제를 풀다보면 어쩔 수 없이 만나는 STL
그 중에서 가장 기본이 되는 시퀀스 컨테이너에서 또 기본이 되는
vector를 사용하는 방법을 알아보도록 하겠습니다.
기본적으로 선언을 하는 방법을 알아 봅시다.
#include<vector> 전처리기에 벡터를 사용한다고 알려주시고!
vector<저장할 자료형> 벡터이름 이런 형식으로 사용해 주시면 되겠습니다!
int형의 자료를 저장하는 int_vector라는 vector를 선언하는 것을 예로 들면
vector<int> int_vector;
이렇게 선언해주시면 됩니다.
선언 방법을 알았으니 사용법을 알아 봅시다.
vector<int> int_vector; 이런 식으로 선언을 해주었으면
이 벡터에 자료를 넣을 준비 된 것입니다.
int 형이니까 정수를 넣을 수 있겟죠!
간단하게 1,2,3을 순서로 넣어 봅시다.
벡터는 push_back으로 자료를 저장하기 때문에
뒤로 쌓아서 저장한다고 이해하시면 쉽습니다.
int_vector.push_back(1);
int_vector.push_back(2);
int_vector.push_back(3);
이렇게 해주시면 이 벡터에 1,2,3 숫자들이 순차적으로 저장이 된 것 입니다.
과연 정상적으로 들어 갔는지 확인을 해봐야 겠죠?
cout << int_vector[0];
배열을 사용하는 것 처럼 []안에 인덱스 번호를 넣으면 그 번호에 맞는 숫자가 출력이 됩니다.
위에서는 0 이니까 제일 처음에 넣은 1이 출력이 됩니다.
이제 저장을 해봤으니 삭제를 하는 방법을 알아 봅시다.
int_vector.erase(int_vector.begin());
이렇게 해주시면 첫번째 원소가 지워지게 됩니다.
여기서 int_vector.begin()은 벡터의 시작 지점을 가르키는 것 입니다.
반대로 int_vector.begin()은 벡터의 끝 지점을 가르킵니다.
응용해서 두번째 원소를 지울려면 int_vector.begin()+1을 넣어 주시면 됩니다.
한번에 지워버리는 것도 있습니다.
바로 clear() 입니다.
int_vector.clear() 이렇게 해주시면 모든 원소를 지우게 됩니다.
다 지워 졋는지 확인 하는 방법도 있습니다.
int_vector.empty() 이렇게 해주시면 비어 있는경우 true 하나라도 남아 있으면 false를 반환하게 됩니다.
if문을 이용하여 벡터의 상태를 확인할 때 주로 사용합니다.
여기까지의 내용을 정리한 것입니다.
실행 화면 입니다.
'프로그래밍 > c++ STL' 카테고리의 다른 글
[c++ STL] List 기본 사용법 및 예제 (0) | 2020.02.03 |
---|---|
[c++ STL] Stack 기본 사용법 및 예제 (0) | 2020.01.31 |
[c++ STL] Queue 기본 사용법 및 예제 (0) | 2020.01.31 |
[c++ STL] Deque 기본 사용법 및 예제 (0) | 2020.01.10 |
[c++ STL] vector 의 반복자 사용법 (0) | 2020.01.04 |