STL - 알고리즘
STL - 알고리즘
template<class InputIterator, class Function>
Fn1 for_each (
InputIterator _First,
InputIterator _Last,
Function _Func
);
first ~ last 사이의 구간을 순회하면서 op 함수 객체를 호출한다. 반환 값은 함수 객체인데 보통 무시한다. for_each는 루프를 돌리는 역할밖에 하지 않으므로 구체적인 동작을 하는 함수 객체가 반드시 필요하다.
template<class InputIterator, class Type>
InputIterator find (
InputIterator _First,
InputIterator _Last,
const Type& _Val
);
입력 반복자 두개로 검색 대상 구간을 지정하여 검색하고자하는 값을 세번째 인수로 전달한다. first ~ last 구간에서 val값을 가지는 요소가 있는지 검색하여 그 반복자를 반환한다. 발견되지 않으면 last가 반환된다.
template<class ForwardIterator1, class ForwardIterator2>
ForwardIterator1 find_end (
ForwardIterator1 _First1,
ForwardIterator1 _Last1,
ForwardIterator2 _First2,
ForwardIterator2 _Last2
);
template<class ForwardIterator1, class ForwardIterator2,
class Predicate>
ForwardIterator1 find_end (
ForwardIterator1 _First1,
ForwardIterator1 _Last1,
ForwardIterator2 _First2,
ForwardIterator2 _Last2,
Predicate _Pred
);
first1 ~ last1 전체 구간에서 first2 ~ last2 구간과 일치하는 패턴을 찾아 그 반복자를 반환한다. 뒤에서부터 검색을 한다.
template<class ForwardIterator1, class ForwardIterator2>
ForwardIterator1 search (
ForwardIterator1 _First1,
ForwardIterator1 _Last1,
ForwardIterator2 _First2,
ForwardIterator2 _Last2
);
template<class ForwardIterator1, class ForwardIterator2,
class Predicate>
ForwardIterator1 search (
ForwardIterator1 _First1,
ForwardIterator1 _Last1,
ForwardIterator2 _First2,
ForwardIterator2 _Last2,
Predicate _Pred
);
first1 ~ last1 전체 구간에서 first2 ~ last2 구간과 일치하는 패턴을 찾아 그 반복자를 반환한다. 앞에서부터 검색을 한다.
template<class InputIterator1, class InputIterator2>
bool equal (
InputIterator1 _First1,
InputIterator1 _Last1,
InputIterator2 _First2
);
template<class InputIterator1, class InputIterator2, class Predicate>
bool equal (
InputIterator1 _First1,
InputIterator1 _Last1,
InputIterator2 _First2,
Predicate _Pred
);
first1 ~ last1 사이의 구간과 first2 이후의 구간에 있는 요소들을 일대일로 비교해 보고 모든 요소가 일치하면 true를 반환하고 하나라도 틀리면 false를 반환한다. 두번째 구간은 시작 위치를 지정하는 반복자만 전달되고 끝 반복자는 전달되지 않는데 두번째 구간도 첫번째 구간과 길이가 같다고 가정한다.
출처 - http://msdn.microsoft.com/ko-kr/library/yah1y2x8.aspx
혼자 연구하는 C/C++