[Basic C++] #51_STL 알고리즘, replace
STL 알고리즘 중 "replace 알고리즘"에 대해 알아보겠습니다.
"전문가를 위한 C"의 17 항목, "STL 알고리즘 마스터하기"에 해당하는 내용입니다.
replace()
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<int> v{ 10, 20, 30, 40, 50 ,60 };
// 하한 값은 30, 상한 값은 50으로 Clamping합니다.
int low = 30;
int high = 50;
// replace_if( 원본 범위 첫 번째, 원본 범위 마지막, 프레디킷, 교체할 새로운 값 )
replace_if(begin(v), end(v), [low](int num) {return num < low; }, low);
replace_if(begin(v), end(v), [high](int num) {return num > high; }, high);
for (const auto& val : v) cout << val << " ";
}
* 결과 화면
"replace_if" 알고리즘은 주어진 컨테이너 범위의 항목들을 특정 값 또는 프레디킷 조건에 합치되는 항목을 새로운 값으로 변경합니다.
'언어 > Basic C++' 카테고리의 다른 글
[Basic C++] #54_STL 작업 알고리즘, for_each() (0) | 2022.07.20 |
---|---|
[Basic C++] #53_STL 알고리즘, remove + erase, 옮기고 삭제하기 (0) | 2022.07.19 |
[Basic C++] #51_STL 이동 알고리즘, move (0) | 2022.07.19 |
[Basic C++] #50-1_STL 알고리즘, 변경 순차 알고리즘, transform(), copy(), copy_if(), copy_n() (0) | 2022.07.15 |
[Basic C++] #49_STL 알고리즘, 불변 순차 알고리즘 (0) | 2022.07.13 |