Я использую следующий код в связанном списке символов. Но всякий раз, когда я запускаю эту программу, я получаю ошибку времени выполнения.Удаление узла из середины связанного списка
void ldellist(Node *head,char k)
{
Node *remove=head;
Node *previous=head;
while(remove->data!=k)
{
remove=remove->next;
}
while(previous->next!=remove)
{
previous=previous->next;
}
previous->next=remove->next;
free(remove);
}
Может кто-нибудь сказать мне, в чем проблема?
Добро пожаловать в переполнение стека! Просить людей обнаружить ошибки в коде не особенно продуктивно. Вы должны использовать отладчик (или добавить заявления печати), чтобы изолировать проблему, отслеживая ход вашей программы и сравнивая ее с тем, что вы ожидаете. Как только двое расходятся, вы нашли свою проблему. (И затем, если необходимо, вы должны построить [минимальный тестовый сценарий] (http://sscce.org).) –
Ребята! просто чтобы понять, я знаю, что я удаляю персонажа из середины, а не из головы или хвоста. – user3097890
Как выглядит ваша функция free (Node *)? –