Поиск подпоследовательности (Search)

We use cookies. Read the Privacy and Cookie Policy

Поиск подпоследовательности (Search)

template ‹class ForwardIterator1, class ForwardIterator2›

ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2);

template ‹class ForwardIterator1, class ForwardIterator2, class BinaryPredicate›

ForwardIterator1 search(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate binary_pred);

search находит подпоследовательность равных значений в последовательности. search возвращает первый итератор i в диапазоне [first1, last1 - (last2 - first2)) такой, что для любого неотрицательного целого числа n, меньшего чем last2 - first2, выполнены следующие соответствующие условия: *(i+n)==*(first2+n), binary_pred(*(i+n), *(first2+n))==true. Если такой итератор не найден, возвращается last1. Соответствующий предикат применяется, самое большее, (last1 - first1) * (last2 - first2) раз. Квадратичное поведение, однако, является крайне маловероятным.