Читаю «Алгоритм Design Manual», и это говорит о том, что три операции на базовом списке являются поиска, вставки и удаления. Затем он продолжает описывать алгоритм в C, который, как только он найдет узел, который он ищет (путем сравнения данных узлов с тем, что искали), возвращает этот узел (и, следовательно, любые узлы, связанные под ним). Если он не находит то, что он ищет, он возвращает NULL
.Зачем искать связанный список?
Итак, мой вопрос: знаем ли мы, что мы ищем, зачем мы его ищем? И если причина состоит в том, чтобы увидеть, включена ли она в список, то почему не логическая функция «содержит» то, что мы действительно хотим?
Я предполагаю, что поиск включает использование произвольного поискового предиката. т.е. найти первое значение в списке, который удовлетворяет определенным критериям. Равенство есть только один возможный предикат. – Pubby
Как работает функция 'contains', если не путем поиска в списке? – arootbeer
@arootbeer было бы абсолютно необходимо искать список, однако его намерение отличается. «Поиск» возвращает нужный нам узел или «null», тогда как 'contains' будет просто сказать, соответствуют ли данные в списке. – mjgpy3