accumulate
지정한 구간에 속한 값들을 모든 더한 값을 계산한다. 기본적으로 더하기 연산만 하지만 조건자를 사요하면 더하기 이외의 연산도 할 수 있다. accumulate를 사용하기 위해서는 앞서 소개한 알고리즘과 다르게 <numeric>헤더 파일을 포함해야 한다.
<vector에 있는 값들을 계산>
<조건자를 사용한 accumulate>
inner_product
두 입력 시퀀스의 내적을 계산하는 알고리즘으로 기본적으로는 +와 *을 사용한다. 두 입력 시퀀스의 값은 위치의 값을 서로 곱한 값을 모두 더한 것이 최종계산 값이 된다. 주의해야 할 것은 두 입력 시퀀스의 구간 중 두 번째 시퀀스는 첫 번째 시퀀스 구간 보다 크거나 같아야 한다. 즉 첫 번째 시퀀스 구간의 데이터는 5개가 있는데 두 번째 시퀀스에 있는 데이터가 5개 보다 작으면 안된다.
<inner_product를 사용하여 내적 계산>
출처 : Thinking About C++ STL 프로그래밍 (최홍배 지음)
'C++ > STL' 카테고리의 다른 글
12. C++11 기초 2(range based for, enum, nullptr ) (0) | 2017.10.13 |
---|---|
11. C++11 기초 1(auto, 람다(lambda) ) (0) | 2017.10.12 |
9. 정렬 관련 알고리즘(sort, binary_search, merge) (0) | 2017.10.10 |
8. 변경 가능 시퀀스 알고리즘(generate, copy, remove, replace) (0) | 2017.09.29 |
7. 변경 불가 시퀀스 알고리즘(find, find_if, for_each) (0) | 2017.09.28 |