반응형
벡터(Vector)란?
STL 컨테이너 라이브러리 중 하나인 Vector 벡터는 스택과 비슷한 구조를 가지고 있지만 원소를 참조하거나 중간에 값을 삽입하거나 삭제가 가능합니다.
- 벡터의 삽입과 삭제는 양쪽 끝(앞, 뒤)에서 이루어진다. 중간에서도 가능하다.
- 자동으로 메모리가 할당되는 배열이다.
- 배열기반이기 때문에 임의의 원소에 접근이 가능하다.
벡터의 멤버 함수
-
v.front() : v의 첫번째 원소
-
v.back() : v의 마지막 원소
-
v.assign(n,x) : n개의 원소에 x값을 할당
-
v.at(index) : v의 index번째의 원소
-
v[index] : v의 index번째의 원소 (배열처럼 사용)
-
v.push_back(x) : 마지막 원소에 x값 삽입
-
v.pop_back() : 마지막 원소 제거
-
v.begin() : v의 첫번째 원소를 가리키는 iterator
-
v.end() : v의 마지막 원소의 다음을 가리키는 iterator
-
v.reserve(n) : n개의 원소들을 동적할당
-
v.resize(n) : v의 크기를 n으로 지정
-
v.size() : v의 원소 개수를 리턴
-
v.capacity() : v에 할당된 공간의 크기를 리턴
-
v1.swap(v2) : v1과 v2의 원소, capacity를 모두 서로 바꿈
-
v.insert(n,x) : v의 n번째 위치에 x값을 삽입
-
v.erase(iterator) : iterator가 가리키는 v의 원소를 삭자한다.
-
v.empty() : v가 비어있으면 1, 비어있지않으면 0
예제 코드
#include<iostream>
#include<vector>
using namespace std;
int N;
vector<int> v;
void print_v()
{
cout << " v의 원소 : ";
for (int i = 0; i < v.size(); i++)
cout << v[i] << " ";
}
int main()
{
cout << "\n v에 1~3까지 삽입\n";
v.push_back(1);
v.push_back(2);
v.push_back(3);
print_v(); // 1 2 3
cout << "\n\n v의 1번째 위치에 4 삽입\n";
v.insert(v.begin()+1, 4);
print_v(); // 1 4 2 3
cout << "\n\n v의 마지막 원소 삭제\n";
v.pop_back();
print_v(); // 1 4 2
cout << "\n\n v의 맨 뒤에 6 삽입\n";
v.push_back(6);
print_v(); // 1 4 2 6
cout << "\n\n v의 원소 전체 clear!\n";
v.clear();
print_v(); // empty
}
실행결과
벡터를 통해서 2차원 배열 만들기
cocoon1787.tistory.com/201?category=831130
추천 연습 문제
cocoon1787.tistory.com/226?category=831127
반응형
'🟦C++' 카테고리의 다른 글
[C++] tuple 사용법과 예제 (파라미터 3개 이상일 때) (0) | 2021.01.31 |
---|---|
[C++] STL lower_bound, upper_bound 사용법과 예제코드 (0) | 2020.12.27 |
[C++] STL Deque 덱 사용법과 예제코드 (0) | 2020.12.08 |
[C++] STL Stack 스택 사용법과 예제코드 (0) | 2020.12.08 |
[C++] STL Queue 큐 사용법과 예제코드 (0) | 2020.12.07 |