From e8cc23465704a3ed554ddbdd7b8935efa7e9f95c Mon Sep 17 00:00:00 2001 From: Yuliia Pikiner Date: Fri, 6 Nov 2020 20:29:34 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20'a?= =?UTF-8?q?=5Ftrain.c'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- a_train.c | 149 ------------------------------------------------------ 1 file changed, 149 deletions(-) delete mode 100644 a_train.c diff --git a/a_train.c b/a_train.c deleted file mode 100644 index 35d3726..0000000 --- a/a_train.c +++ /dev/null @@ -1,149 +0,0 @@ -#include "a_train.h" -#include -#include -#include - -int getLength(struct car* first) { - - if (first != NULL) { - - int count = 1; - - while (first->next != NULL) { - - count++; - first = first->next; - - } - - return count; - - } else { - - return 0; - - } - -} - -struct car* getLast(struct car* first) { - - if (first == NULL) return NULL; - - while (first->next != NULL) first = first->next; - - return first; - -} - -struct car* getLastButOne(struct car* first) { - - if (first == NULL || first->next == NULL) return NULL; - - while (first->next->next != NULL) first = first->next; - - return first; - -} - -struct car* add_car(struct car* first, const char* target) { - - struct car* newcar = calloc(1,sizeof(struct car)); - - strcpy(newcar->value, target); - newcar->next = NULL; - - if (first == NULL) return newcar; - - struct car* last = getLast(first); - - last->next = newcar; - - return first; - -} - -void print_train(struct car* first) { - - if (first == NULL) return; - - struct car* this = first; - - printf("\nTrain way:\n\n"); - printf("%s", this->value); - - while (this->next != NULL) { - - this = this->next; - printf(" -> "); - printf("%s", this->value); - - } - - printf("\n\n"); - -} - -void popBack(struct car* first) { - - if (first == NULL) { printf("123"); return; } - - struct car* lastbo = getLastButOne(first); - - if (lastbo == NULL) { - - free(first); - first = NULL; - - } else { - - free(lastbo->next); - lastbo->next = NULL; - - } - -} - -void cancel_train(struct car* first) { - - if (first == NULL) return; - - while (first->next != NULL) popBack(first); - - free(first); - first = NULL; - -} - -struct car* clear_train(struct car* first, const char* target) { - - if (first == NULL) return NULL; - - // while (first->next->next != NULL) { - - // if (strcmp(first->next->value, target) == 0) { - - // struct car* node = first->next->next; - - // free(first->next); - - // first->next = node; - - // } - - // } - - struct car* this = first; - - if (strcmp(first->value, target) == 0) { - - this = this->next; - - free(first); - - } - - return this; - -} -