알고리즘 공부/알고리즘

벡터 Vector C++

마달랭 2024. 7. 23. 10:55
반응형

개요

배열과 달리 동적 할당이 가능하도록 지원하는 클래스(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. 배열과 달리 동적으로 메모리를 제어할 수 있다.
  2. 다양한 기능의 메서드 지원으로 원하는 바를 구현하기에 편리하다.
  3. 파이썬의 리스트와 유사한 점이 있다.

예시 코드

 

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