From a73b28bb7815389b0c2153d5d524907349fbc5df Mon Sep 17 00:00:00 2001 From: Anton Dolozin Date: Tue, 28 Oct 2025 21:22:17 +0100 Subject: [PATCH] Fixing the head deletion problem --- du4/a_train.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/du4/a_train.c b/du4/a_train.c index 352788b..5709570 100644 --- a/du4/a_train.c +++ b/du4/a_train.c @@ -60,20 +60,17 @@ struct car* clear_train(struct car* first, const char* target) { free(temp); return first; + } + while(first!= NULL && strcmp(first->value, target)){ + struct car* targetNode = first; + first = first->next; + free(targetNode); + } struct car* prev= first; struct car* temp = first->next; while (prev && temp) - { if (strcmp(prev->value, target) == 0) - { struct car* targetNode =prev; - prev = temp; - temp = temp->next; - free(targetNode); - - - /* code */ - } - + { if(strcmp(temp->value, target) == 0){ struct car* targetNode = temp; prev->next = temp->next;