алгоритм поиска списков - PullRequest
0 голосов
/ 26 мая 2009

Я пытаюсь перевести использование функции поиска в Matlab на C ++ . Из того, что я вижу из функции поиска в C ++, я не могу найти в описании нигде простого метода поиска индекса в списке, в котором выполняются определенные условия, а не просто сравнивать равенство между элементом, который является ищется и список предметов. Прежде чем я реализую свой собственный метод выполнения функции поиска, было бы здорово посмотреть, есть ли уже простой, эффективный, реализованный стандартным образом способ сделать это. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 26 мая 2009

Если вы ищете условие, вы хотите найти 'find_if'. Использование команды find if позволит вам передать предикат, который определяет, соответствует ли данный элемент в списке. Вам все равно придется написать соответствующую логику (или найти соответствующую существующую функцию в стандартных алгоритмах, но это меньше, чем необходимость писать всю структуру 'find'.

0 голосов
/ 26 мая 2009

Опять же, "вся структура поиска" не так сложна, даже если у вас нет хвостовой рекурсии.

Это может быть примером чего-то, что стоит написать самому, потому что, даже если в этот момент вы не так быстро получаете правильную функцию, как если бы вы выбирали ее из стандартной библиотеки, после написания еще нескольких раз ты будешь. Не говоря уже о том, что вы действительно будете знать, что происходит под капотом, как мы говорим в Chevy-land ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...