C++ Rookiss Part1 C++ 프로그래밍 입문 : Algorithm
🙇♀️Algorithm
🪐Algorithm
- 자료구조 (데이터를 저장하는 구조)
-
알고리즘 (데이터를 어떻게 사용할 것인가?)
- find / find_of
- count / count_if / all_of / any_of / none_of / for_each
- remove / remove_if
// number 숫자 벡터에 체크
vector<int>::iterator itFind = find(v.begin(), v.end(), number);
// [](int n){ return (n % 11) == 0; }은 람다식!
vector<int>::iterator itFind = find_if(v.begin(), v.end(), [](int n) { return (n % 11) == 0; });
// 조건에 따라 개수 카운트
int n = count_if(v.begin(), v.end(), [](int n) { return (n % 2) != 0; });
// 모든 데이터가 홀수입니까?
bool b1 = all_of(v.begin(), v.end(), [](int n) { return (n % 2) != 0; });
// 홀수인 데이터가 하나라도 있습니까?
bool b2 = any_of(v.begin(), v.end(), [](int n) { return (n % 2) != 0; });
// 모든 데이터가 홀수가 아닙니까?
bool b3 = none_of(v.begin(), v.end(), [](int n) { return (n % 2) != 0; });
// 반복문인데 시작과 끝, 반복 행동이 쉽게 보인다
for_each(v.begin(), v.end(), [](int& n) { n = n * 3; });
// 홀수인 데이터를 일괄 삭제
v.erase(remove_if(v.begin(), v.end(), IsOdd()), v.end());