Создание списка смежности, странная ошибка?

Редактировать: оригинальная проблема исправлена.

Новая проблема: цикл не прерывается для оператора или:

while(m->next != NULL || m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}

Он печатает все сравнения, в том числе два, которые абсолютно похожи. Любая причина, почему это не сломало бы это?

0

Решение

m = NULL является оператором присваивания, m == NULL это оператор сравнения, который будет использоваться в вашем if заявление

Замечания:
проверка m за NULL должно быть сделано перед использованием его для равномерной печати (в cout)

Если вы хотите продолжить цикл while до последнего элемента или до тех пор, пока val не будет равен n, то это должно быть так

while(m != NULL && m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector