From b16d302b96f64da825ac0090f26c3ac058898f64 Mon Sep 17 00:00:00 2001 From: Radovan Kofira Date: Thu, 5 Nov 2020 21:16:49 +0100 Subject: [PATCH] ah.. --- cv5/a_train.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/cv5/a_train.c b/cv5/a_train.c index 8f0cd8e..1d172ae 100644 --- a/cv5/a_train.c +++ b/cv5/a_train.c @@ -27,17 +27,29 @@ struct car* add_car(struct car* first,const char* target) { } void print_train(struct car* first) { - //struct car* this=first; - // while(this->next!=NULL){ - // printf("%s",this->value); - // this=this->next; - //} + struct car* this=first; + while(this->next!=NULL){ + printf("%s",this->value); + this=this->next; + } } void cancel_train(struct car* first) { - + if(first!=NULL){ + first->next=first; + free(first->next); + cancel_train(first); + } } +//Funkcia na zrušenie spojkového zoznamu môže pracovať rekurzívne: +//Ak je zoznam prázdny, potom rušenie končí. +//Inak sa najprv uvoľní ďalší prvok next rekurzívnym volaním. +//Na konci sa uvoľní aktuálny prvok. +//Nezabudnite, že ak pamäť uvoľníte pamäť, tak s ňou už nemôžete pracovať. + + + struct car* clear_train(struct car* first, const char* target) { struct car* prev = first; //Už sme si istí, že prev a prev->next nie sú NULL