#06 C++ Жемчужины STD - find search reverse iterators

00:00 Введение и разница между «найти» и «поискать» -Обсуждение операций с неизменяемой последовательностью. -Объяснение разницы между «найти» и «поискать»: «найти» рассматривает элементы по отдельности, не учитывая их соседей, а «поискать» ищет последовательность элементов. 01:02 Простая находка и предикаты -Описание функции «найти»: возвращает итератор для значения в контейнере, если его нет, возвращает итератор до конца. -Объяснение предикатов «найти if» и «найти if not»: используют предикат для определения соответствия элемента. 02:05 Поиск последнего элемента -Проблема поиска последнего элемента в контейнере. -Решение с использованием обратных итераторов rbegin и rn. -Преобразование обратных итераторов в обычные для получения индекса. 03:26 Обратные итераторы -Объяснение работы обратных итераторов: начало указывает на последний элемент, конец — на элемент перед первым. -Пример преобразования обратного итератора в индекс. 05:16 Find first of -Функция Find first of ищет первый элемент, соответствующий списку или последовательности. -Примеры использования для разделения строк. 07:33 Несоответствие -Функция несоответствия сравнивает две последовательности, не учитывая соседей элементов. -Две версии функции: с полным диапазоном и двумя полными диапазонами. -Возврат пары итераторов при обнаружении несоответствия. 08:45 Поисковики -Поисковики ищут последовательности символов или элементов в определённом порядке. -Пример поиска «иголки в стоге сена»: программа возвращает итератор к первому экземпляру последовательности или к концу, если последовательности нет. -Полезность для работы со строками. 10:03 Стандартный поиск и поисковики -Функция поиска имеет перегрузку, требующую поисковика. -Можно реализовать специальные алгоритмы поиска для разных целей. -Поисковик по умолчанию не требует предварительной обработки и дополнительной памяти, работает за O(n * m). 10:54 Специализированные поисковики -Специализированные поисковики полезны для обработки больших текстовых запросов. -Принцип работы: вызов стандартного поиска с диапазоном и поисковиком по умолчанию, создание собственного поисковика с диапазоном поиска иглы. 11:15 Поиск в обратном порядке -Функция find_end ищет последнюю последовательность элементов в диапазоне. -При использовании обратных итераторов для поиска необходимо менять порядок строк и итераторов иглы. -find_end не работает с поисковыми политиками. 13:21 Next_find и бинарные предикаты -Next_find находит первую позицию, где два элемента совпадают. -Можно задать бинарный предикат для поиска смежных элементов, удовлетворяющих условию. -Пример: поиск позиции, где первый элемент равен половине второго. 14:31 Поиск последовательных элементов -JSON_find ищет соседние элементы, удовлетворяющие условию относительно друг друга. -Поиск по N позволяет искать n последовательных элементов, но менее эффективен. -Версия с двоичным предикатом сравнивает каждый элемент в диапазоне с заданным значением. 16:05 Заключение -Функции поиска полезны для обработки текста и в играх. -Автор использует find для поиска поверхностей в Project Twin. -Next_find может найти интересное применение.

Иконка канала C++ для всех
4 подписчика
12+
3 просмотра
день назад
12+
3 просмотра
день назад

00:00 Введение и разница между «найти» и «поискать» -Обсуждение операций с неизменяемой последовательностью. -Объяснение разницы между «найти» и «поискать»: «найти» рассматривает элементы по отдельности, не учитывая их соседей, а «поискать» ищет последовательность элементов. 01:02 Простая находка и предикаты -Описание функции «найти»: возвращает итератор для значения в контейнере, если его нет, возвращает итератор до конца. -Объяснение предикатов «найти if» и «найти if not»: используют предикат для определения соответствия элемента. 02:05 Поиск последнего элемента -Проблема поиска последнего элемента в контейнере. -Решение с использованием обратных итераторов rbegin и rn. -Преобразование обратных итераторов в обычные для получения индекса. 03:26 Обратные итераторы -Объяснение работы обратных итераторов: начало указывает на последний элемент, конец — на элемент перед первым. -Пример преобразования обратного итератора в индекс. 05:16 Find first of -Функция Find first of ищет первый элемент, соответствующий списку или последовательности. -Примеры использования для разделения строк. 07:33 Несоответствие -Функция несоответствия сравнивает две последовательности, не учитывая соседей элементов. -Две версии функции: с полным диапазоном и двумя полными диапазонами. -Возврат пары итераторов при обнаружении несоответствия. 08:45 Поисковики -Поисковики ищут последовательности символов или элементов в определённом порядке. -Пример поиска «иголки в стоге сена»: программа возвращает итератор к первому экземпляру последовательности или к концу, если последовательности нет. -Полезность для работы со строками. 10:03 Стандартный поиск и поисковики -Функция поиска имеет перегрузку, требующую поисковика. -Можно реализовать специальные алгоритмы поиска для разных целей. -Поисковик по умолчанию не требует предварительной обработки и дополнительной памяти, работает за O(n * m). 10:54 Специализированные поисковики -Специализированные поисковики полезны для обработки больших текстовых запросов. -Принцип работы: вызов стандартного поиска с диапазоном и поисковиком по умолчанию, создание собственного поисковика с диапазоном поиска иглы. 11:15 Поиск в обратном порядке -Функция find_end ищет последнюю последовательность элементов в диапазоне. -При использовании обратных итераторов для поиска необходимо менять порядок строк и итераторов иглы. -find_end не работает с поисковыми политиками. 13:21 Next_find и бинарные предикаты -Next_find находит первую позицию, где два элемента совпадают. -Можно задать бинарный предикат для поиска смежных элементов, удовлетворяющих условию. -Пример: поиск позиции, где первый элемент равен половине второго. 14:31 Поиск последовательных элементов -JSON_find ищет соседние элементы, удовлетворяющие условию относительно друг друга. -Поиск по N позволяет искать n последовательных элементов, но менее эффективен. -Версия с двоичным предикатом сравнивает каждый элемент в диапазоне с заданным значением. 16:05 Заключение -Функции поиска полезны для обработки текста и в играх. -Автор использует find для поиска поверхностей в Project Twin. -Next_find может найти интересное применение.

, чтобы оставлять комментарии