반응형
개요
배열과 달리 동적 할당이 가능하도록 지원하는 클래스(STL), 배열과 별개로 활용 방법이 무궁무진 하다.
벡터의 기본형과 자주 사용하는 메서드
#include <iostream>
#include <vector>
using namespace std;
vector<int> v; // vector<데이터 타입> 이름;
int main() {
// 벡터의 뒤에 값을 추가한다.
v.push_back(10);
// 벡터의 가장 뒤에 있는 값을 삭제한다.
v.pop_back();
// 벡터의 크기를 재할당 한다.
v.resize(10);
// 벡터의 모든 요소와 크기를 지운다.
v.clear();
}
장점
- 배열과 달리 동적으로 메모리를 제어할 수 있다.
- 다양한 기능의 메서드 지원으로 원하는 바를 구현하기에 편리하다.
- 파이썬의 리스트와 유사한 점이 있다.
예시 코드
1차원 벡터 초기화
#include <iostream>
#include <vector>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
vector<int> v(a * b, a + b); // 벡터의 크기를 a * b 만큼, 값을 a + b로 할당.
}
2차원 벡터 초기화
int main() {
int h, w;
cin >> h >> w;
vector<vector<int>> v(h, vector<int>(w, 0)); // 행이 h개, 열이 w개인 2차원 벡터의 모든 값에 0으로 초기화
}
3차원 벡터 초기화
int main() {
int a, b, c;
cin >> a >> b >> c;
vector<vector<vector<int>>> v(a, vector<vector<int>>(b, vector<int>(c, 0)));
}
728x90
반응형
'알고리즘 공부 > 알고리즘' 카테고리의 다른 글
그리디 알고리즘 Greedy Algorithm C++ (0) | 2024.07.25 |
---|---|
정렬 Sort C++ (0) | 2024.07.25 |
문자열 String C++ (2) | 2024.07.24 |
방향 배열 (2) | 2024.07.23 |
DAT (Direct Access Table) 배열 활용법 (1) | 2024.07.22 |