본문 바로가기
컴퓨터/알고리즘

[c++] 이중 벡터 초기화 선언하고 사용하기

by 우유식빵 2021. 9. 12.

M a(2,vector<ll>(2,0)); 으로 적어야하는데 실수..!!

벡터를 선언하고 초기화해서 바로 사용할 때 


vector<int> v(number,value);
ㅤ

이렇게 쓰면 number개 개수의 공간만큼에 value값을 넣고 초기화를 하는 것이다.

예를 들면 vector<int> v(4,100)이면 v에는 {100,100,100,100}이 들어간채로 초기화된다.

 

그렇다면 이중 벡터는 어떻게 초기화 할 수 있을까 생각을 해봤다. (사실 헷갈려서 정리함)

ㅤ
vector<vector<int>> vv(number,value);
ㅤ

 를 하려면 n은 똑같이 만들고싶은 vector<int> 개수만큼 적으면 되고 

v에는 vector<int>의 값을 넣어줘야한다. 근데 int값은 vector<int>와 다르니까 

vector<int>의 초기화된 형태를 넣어주면 된다. 위에서 말한 것 처럼 vector<int>의 초기화를 하면 된다.

 

예를 들면

ㅤ
vector<vector<int>> vv(4,vector<int>(4,100));
ㅤ

 

이렇게 할 경우 


{{100,100,100,100},
 {100,100,100,100},
 {100,100,100,100},
 {100,100,100,100}}
 ㅤ

이렇게 만들어지게 된다. 

 

행렬 연산할 때 이중벡터가 쓰여서 정리해봤다. 굿!

댓글