Я создал метод bool contains(string)
для хеш-таблицы связанного списка, которая проверяет, находится ли значение в хэше. Я использую вспомогательную функцию для рекурсии, но когда вспомогательная функция возвращает false
, bool contains(string)
по-прежнему возвращает true. Я провел его через отладчик, и я ясно вижу, что он возвращает false, и я не уверен, почему.Метод Bool возвращает неправильное значение
Вот текущий узел разыскивается:
"laccoliths"->"morbiferous"->"oculi"->"unscabbarded"
значение Я ищу это "typung"
.
Вот код:
bool contains_h(string x, node * p) //helper method
{
if (p == NULL)
return false;
else if (x == p->data)
return true;
else
contains_h(x, p->next);
}
bool contains(string word) { return contains_h(word, head); }
Включение предупреждений компилятора (и их чтение) предотвратило бы эту ошибку. – emlai