습관처럼
C++ - vector 초기화 본문
이번에는 vector 초기화에 대해서 알아보도록 하겠습니다.~ 바로 fill을 이용한 초기화를 진행하면 간단히 vector를 초기화 가능합니다.
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
vector<vector<int>> mat(5, vector<int>(5));
fill(mat.begin(), mat.end(), vector<int>(5, 5));
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << mat[i][j] << ' ';
}
cout << '\n';
}
cout << '\n';
return 0;
}
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
vector<vector<int>> mat(5, vector<int>(5));
fill(mat.begin() + 2, mat.end(), vector<int>(5, 5));
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << mat[i][j] << ' ';
}
cout << '\n';
}
cout << '\n';
return 0;
}
바로 fill에서 begin()+n을 할때 n번째 부터 마지막까지 5로 초기화 되는것을 볼 수 있습니다. 먼저 vector<vector<int>>mat을 통해 2차원 백터를 만들고 (5,vector<int>(5))를 통해 mat 백터 크기는 5이고 mat 백터 크기 하나당 vector<int>(5) 즉 5개의 element를 가지고 있다는 것을 의미합니다.
'Language > C++' 카테고리의 다른 글
C++ - Algorithm 헤더 파일 reverse(), rotate(), random_shuffle() (0) | 2020.04.13 |
---|---|
C++ - Algorithm 헤더 파일 - swap(), swap_ranges(), copy(), fill() (0) | 2020.04.13 |
C++ - 형변환 (0) | 2020.04.05 |
C++ - 입출력 효율성 증가시키는 방법 (0) | 2020.03.30 |
소수 구하기 (에라토스테네스의 체) (0) | 2020.03.19 |