Функция которая проверяет двунаправленный список на симметрию
bool sim(list* p)
{
list* q = p;
while (q->next != NULL)
{
q = q->next;
}
while (p != NULL)
{
if (p->info != q->info)
return false;
p = p->next;
q = q->pred;
}
return true;
}
Преподаватель по программированию давала нам эту функцию для проверки двунаправленного списка на симметрию, то функция работает неправильно, подскажите пожалуйста где ошибка и как ее исправить?