👩🏻‍💻 Programming/C++

2차원 vector, 그리고 3차원 Vector

한국의 메타몽 2020. 5. 6. 13:09

Vector을 사용해 2차원 배열을 만들 수 있다. (두 개의 객체를 묶어주는 pair와는 다르다)

 

Vector의 2차원 배열 선언 : vector<vector<타입>> v(행의 값, vector<타입>(열의 값, 초기화 값));

Vector의 2차원 배열 값 삽입 : v[i][j]; 

// 예시
int n = 0;
cin >> n;
vector<vector<int>> arr(n + 1, vector<int>(n + 1, 0));
arr[0][0] = 1;

 

vector<vector<int>>와는 다르게 위는 동적할당으로 만들어진 벡터이다.


Pair 선언 : vector<pair<타입1, 타입2>> v;

Pair 삽입 : v.push_back(pair<타입1, 타입2>(타입1의 값, 타입2의 값));

// 예시
vector<pair<int,int>> v;
for(int i=0; i<n; i++){
	int a, b = 0;
	cin >> a >> b;
	v.push_back(make_pair(a,b));
}

3차원 vector

   vector<vector<vector<bool>>> ch(n + 1, vector<vector<bool>>(m + 1, vector<bool>(k+1)));
   ch[1][1][0] = true