2014-10-08 3 views
-1

Мне было поручено найти способ поиска связанного списка. Я реализовал последовательный поиск с моим кодом, но каким-то образом он не обнаружит первого числа, внесенного в связанный список ... почему? Я могу найти другие цифры просто отлично.ошибка при поиске в связанном списке

вот мой код; https://www.dropbox.com/s/r8zpto80zw41vs4/LINKEDLIST.cpp?dl=0

также, я попытался использовать двоичный поиск для моего кода, я просто не могу понять это правильно ... любая помощь очень ценится, спасибо!

+0

Пожалуйста, уменьшите код до абсолютного минимума, необходимого для демонстрации проблемы и отправьте ее здесь. – NPE

ответ

0

Ваш while цикл останавливается, когда нет элементов после текущего. Когда это произойдет, код не смотрит на текущий элемент. Изменение

while(look->next!=NULL){ 

в

while(look!=NULL){ 

В связанном списке, нет никакого способа, чтобы получить доступ к элементу по его индексу. Поэтому от использования бинарного поиска по сравнению с линейным поиском ничего не получится. Оба значения: O(n).

+0

Спасибо за это, сейчас он работает. как для бинарного поиска, это не имеет значения, это домашняя работа для колледжа, проф попросил нас найти способ реализовать двоичный поиск связанного списка ... Я не могу заставить его работать. – Wei

+0

@Wei: Имейте способ получить элемент по индексу, а затем реализовать двоичный поиск на основе индексов. – NPE

Смежные вопросы