<numeric>
std::accumulate(b, e, t)
: [b, e) 범위의 각 요소들의 합에 t를 더하여 반환합니다.
t값으로 요소에 대한 항등원을 주게되면 순수한 누적합을 구합니다.
ex) 요소가 int type일 경우 t 값으로 0을 주면 [b, e) 범위의 요소들의 합을 반환합니다.
위 함수는 다음과 같이 동작합니다.
temp = t;
while(b!=e)
{
temp = temp + *b;
++b;
}
return temp;
<algorithm>
std::find(b, e, t)
std::find_if(b, e, p)
std::search(b, e, b2, e2)
: [b, e) 범위에서 주어진 값을 찾는 알고리즘입니다.
find 함수는 t 값을 찾습니다.
find_if 함수는 서술함수인 p를 만족하는 값을 찾아 해당 반복자를 반환합니다. 찾지 못하면 e를 반환합니다.
search 함수는 [b2, e2) 범위에 해당하는 영역을 찾아 해당 영역의 첫 요소를 가리키는 반복자를 반환합니다.
찾지 못하면 e를 반환합니다.
std::copy(b, e, d)
std::remove_copy(b, e, d, t)
std::remove_copy_if(b, e, d, p)
: [b, e) 범위의 요소를 d가 가리키는 영역에 복사합니다.
copy 함수는 해당 영역 전체를 복사합니다. d로 복사된 요소들 이후를 가리키는 반복자를 반환합니다.
remove_copy 함수는 요소 t와 일치하지 않는 모든 요소를 복사합니다. 마지막으로 복사된 요소의 다음 위치를 가리키는 반복자를 반환합니다.
remove_copy_if 함수는 서술 함수 p를 만족하지 않는 모든 요소를 복사합니다. remove_copy 함수와 같은 값을 반환합니다.
std::remove_if(b, e, p)
: [b, q) 범위의 요소들 중 서술함수 p를 만족하지 않는 요소들이 앞에 위치하도록 요소들을 재배치합니다.
p를 만족하지 않는 마지막 요소의 다음 요소를 가리키는 반복자를 반환합니다.
std::remove(b, e, t)
: [b, q) 범위의 요소들 중 t와 일치하지 않는 요소들이 앞에 위치하도록 재배치합니다.
t와 일치하지 않는 마지막 요소의 다음 요소를 가리키는 반복자를 반환합니다.
std::transform(b, e, d, f)
: [b, e) 범위의 각 요소들에 함수 f를 호출 후 d가 가리키는 위치에 추가합니다.
d 영역에 모든 요소들이 추가된 후 마지막 요소의 이후를 가리키는 반복자를 반환합니다.
std::partition(b, e, p)
std::stable_partition(b, e, p)
: [b, e) 범위의 요소들 중 서술 함수인 p를 만족하는 요소들이 앞 쪽에 오도록 재배치합니다.
만족하는 영역과 만족하지 않는 영역 두 영역이 존재할 때 만족하지 않는 영역의 첫 요소를 가리키는 반복자를 반환합니다.
partition 함수는 각 영역에서 요소의 정렬 전/후 순서가 달라질 수 있으며, stable_partition 함수는 요소의 순서를 유지합니다.
'Etc' 카테고리의 다른 글
[MarkDown] .md파일에 소스 코드 영역 지정하기 (코드 하이라이트) (0) | 2020.02.27 |
---|---|
Chapter 11. 추상 데이터 타입 정리 (0) | 2019.12.09 |
유용한 커맨드 명령어 (윈도우) (0) | 2019.12.06 |
Docker toolbox 설치 Docker Quickstart Terminal vm관련 오류 (0) | 2019.11.29 |
파일 입출력 다루기. <fstream> std::ifstream, std::ofstream (0) | 2019.11.27 |
댓글