작성
·
211
0
교안 79페이지 2차원 배열 예제에서
for(int i = 0; i < 10; i++){
vector<int> vv;
v.push_back(vv); }.
이 코드가 하는 역할이 어떤건가요??
답변 1
1
안녕하세요 주호님 ㅎㅎ 해당 설명을 좀 변경했는데요.
vector를 이용한 2차원 배열을 만드는 3가지 방법입니다.
#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> v;
vector<vector<int>> v2(10, vector<int>(10, 0));
vector<int> v3[10];
int main(){
for(int i = 0; i < 10; i++){
vector<int> temp;
v.push_back(temp);
}
return 0;
}
v는 vector안의 vector가 들어가 있는 2차원 배열 타입을 선언합니다.
그 이후 v에 temp라는 vector를 push_back해서 2차원 배열을 만듭니다.
v2는 10 * 10 짜리 크기의 2차원배열을 바로 만듭니다. 0으로 초기화까지 한 것을 볼 수 있습니다.
v3는 10개 짜리 배열을 선언한 것을 볼 수 있습니다. 이는 v와 똑같은 2차원배열입니다. v 같은 경우 vector 10개를 담으니까요.
그림으로 나타내면 다음과 같습니다.
그림도 그려봤는데요. ㅎㅎ
혹시 이해가 되실까요?
감사합니다.
답변 감사합니다! 그러면 지금 설명 코드에서 v라는 벡터는 값이 비어있는 2차원배열이라고 생각하면 될까요??