Функция которая проверяет двунаправленный список на симметрию

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;
}

Преподаватель по программированию давала нам эту функцию для проверки двунаправленного списка на симметрию, то функция работает неправильно, подскажите пожалуйста где ошибка и как ее исправить?


Ответы (0 шт):