|
Заблокирован
|
|
Реализация алгоритма find_firdt_not_of через другие алгоритмы31.07.2011, 18:44. Показов 6130. Ответов 55
Метки нет (Все метки)
Хотел создать эту тему в разделе С/С++ для экспертов, но мне было отказано в виду отсутствия неких прав. Поэтому формулирую тему здесь.
Есть стандартный алгоритм std::find_first_of. Но нет стандартного алгоритма std::find_first_not_of. Надо предполагать, что авторы стандарта его не включили по тем соображениям, что его легко реализовать с помощью других алгоритмов. Поэтому меня интересует, как реализовать данный алгоритм с помощью других алгоритмов? Есть какие-нибудь соображения? Или же на самом деле все сводится к тому, что надо писать собственную оригинальную реализацию этого алгоритма.
0
|
|
| 31.07.2011, 18:44 | |
|
Ответы с готовыми решениями:
55
Алгоритмы поиска. Подскажите, в чем суть алгоритма?
Циклические алгоритмы. Реализация рядов |
|
Заблокирован
|
||
| 31.07.2011, 20:33 [ТС] | ||
|
0
|
||
| 31.07.2011, 20:36 | |
|
Не по теме: Мне вот просто интересно, как так получилось, что человек работает с STL, а свою реализацию простого алгоритма написать не может?
0
|
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 31.07.2011, 20:36 | ||||||
|
Монстрик на основе кода easybudda. Конечно, проблема сохранилась и здесь, но функтор можно переписать через цикл и поставить v с нужной стороны (слева). Но согласен, что не всё в порядке в королевстве датском
![]()
0
|
||||||
| 31.07.2011, 20:37 | |
|
0
|
|
| 31.07.2011, 20:40 | |
|
0
|
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 31.07.2011, 20:41 | |
|
А интересно, find_first_of даёт какие-либо гарантии по поводу того, что версия без предиката вызовет == с правильной расстановкой аргументов?
0
|
|
|
Заблокирован
|
||
| 31.07.2011, 20:42 | ||
|
0
|
||
|
Модератор
12846 / 7595 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
|
||||||
| 31.07.2011, 20:46 | ||||||
|
Сыроежка, а не вариант в класс добавить
0
|
||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 31.07.2011, 20:51 | ||||||
|
easybudda, как друга?
![]() Добавлено через 1 минуту по-моему лучше вне класса объявить такую:
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 31.07.2011, 20:52 | |
|
1
|
|
|
|
||||||
| 31.07.2011, 20:53 | ||||||
|
Может добавить operator int(){return x;} ?
Добавлено через 53 секунды
0
|
||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 31.07.2011, 21:14 | ||||||
|
alex_x_x, спасибо. Сегодня ломает в стандарт лезть
![]() Добавлено через 20 минут Функтор-предикат с сохранением порядка аргументов к предыдущему моему коду.
0
|
||||||
| 31.07.2011, 21:55 | |||||||
0
|
|||||||
|
Модератор
12846 / 7595 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
|
||
| 31.07.2011, 22:06 | ||
0
|
||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
| 31.07.2011, 22:42 | ||||||
|
Между прочим в C++0x есть алгоритм none_of, действие которого похоже на мой предикат NotIn
Добавлено через 20 минут Ну и для полноты картины реализация через него.
0
|
||||||
|
Заблокирован
|
||
| 02.08.2011, 03:22 [ТС] | ||
![]() Спецмально для вас разъясняю: меня не интересует собственная реализация этого алгоритма. Меня интересует, можно ли этот алгоритм выразить через другие стандартные алгоритмы. Вопрос стоит так:почему этот алгоритм не включен в стандартную библиотеку С++?! Какие на это были основания?! Ведь этот алгоритм ни чем не проще и не сложнее других подобных алгоритмов. Почему для калсса std::basic_string он представлен как самостоятельный алгоритм, а для других контейнеров он отсуствует? Если предполагается, что его легко вывести из других алгоритмов, то почему для класса std::basic_string он написан отдельно, а не выведен из других алгоритмов? Вы сами-то можете сказать достоверно, почему разработчики стандарта обошли стороной этот алгоритм? Вы что-то там пытаетесь подправить мой класс Int, и до вас не доходит, а что делать, если условие поиска задано предикатом, как, например, std::less? Как в этом случае быть с перестановкой операндов для предиката?! У меня была лишь одна идея, почему этот алгоритм не включили в стандартную библиотеку С++: его легко реализовать с помощью других алгоритмов. Но оказывается, это не так! То есть никаких веских причин, почему этот алгоритм отсуствует, я не вижу. С таким же успехом можно было бы исключить и другие алгоритмы поиска, как, например, алгоритм std::find, потому что он нисколько не сложнее данного алгоритма.
0
|
||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 02.08.2011, 03:43 | ||
|
Кстати, если верить Джосаттису, даже алгоритм find_first_of не входил в исходную версию STL, чего не скажешь про find.
0
|
||
|
Заблокирован
|
||||||||||||
| 02.08.2011, 03:46 [ТС] | ||||||||||||
0
|
||||||||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 02.08.2011, 03:50 | ||
|
0
|
||
|
Модератор
12846 / 7595 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
|
||
| 02.08.2011, 04:02 | ||
|
0
|
||
| 02.08.2011, 04:02 | |
|
Реализация наложений изображений, масок на другие изображения. Реализация алгоритма Реализация алгоритма МТ
Реализация алгоритма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|