[C++] fill method
- Problem Solving/PS With C++
- 2025. 1. 26.
반응형
*C++ STL Algorithm 헤더의 fill 메서드 사용 방법에 대해 다룬 포스팅입니다.
*개인적인 공부 내용을 기록하기 위해 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
#fill
void fill (ForwardIterator first, ForwoardIterator last, const T& value);
Header - <algorithm>
지정 범위의 요소들을 "타입에 맞는 값" 으로 채워준다.
int type 배열이라면 int 타입에 맞는 값으로 각 요소를 설정하며, 이터레이터를 지원하기에 vector, array와 같은 다른 STL 컨테이너에서 사용 가능하다.
#배열에서 fill 함수를 사용한 예제
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5];
fill(arr, arr + 5, 1);
for (auto i : arr) cout << i << " ";
return 0;
}
1 1 1 1 1
#2차원 배열에서 fill 함수를 사용한 예제
*2차원 배열의 경우 1차원 배열과 달리 각 행을 포인터로 접근해야 하기에 &연산자를 붙여 주어야 한다.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5][5];
fill(&arr[0][0], &arr[5][5], 1);
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << arr[i][j] << " ";
}
cout << '\n';
}
return 0;
}
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
혹은 각 행을 직접 루프를 돌며 fill 메서드로 초기화해 주는 방법도 가능하다.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[5][5];
// 각 행을 1로 초기화
for (int i = 0 ; i < 5; i++) {
fill(arr[i], arr[i] + 5, 1);
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << arr[i][j] << " ";
}
cout << '\n';
}
return 0;
}
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
반응형
'Problem Solving > PS With C++' 카테고리의 다른 글
Binary Search in C++ STL (1) | 2024.09.29 |
---|---|
[C++] About STL Set Container in PS Algorithm (0) | 2024.09.17 |