Aktualizovat du4/snake.c

This commit is contained in:
Tomáš Vlček 2026-04-15 23:22:25 +00:00
parent ce0df04946
commit b3145e6edf

View File

@ -18,29 +18,33 @@ struct snake* add_snake(struct snake* snake,int x,int y)
struct snake* remove_snake(struct snake* snake){
//pomocne lok. premeny
struct snake* currentPtr = snake;
struct snake* prevPtr;
struct snake* prevPtr = NULL;
if (snake == NULL)
{
return NULL;
}
while (1)
//kontrola, ze ci hned dalsi prvok je NULL rovno hned zo zaciatku..
if (snake->next == NULL)
{
free(snake);
return NULL;
}
//iteracia cez node-y
while (currentPtr->next != NULL)
{
//pomocny pointer -> ulozenie predoslej casti/node-u
prevPtr = currentPtr;
//skontroluje, ze ci dalsia cast je PRAZDNA.
if (currentPtr->next == NULL)
{
//uprava listu -> odlinkje tuto cast (tak aby prevPtr->next NEFERENCOVAL na uz uvolnenu cast)
prevPtr->next = NULL;
//uvolni pamat pre akt. cast (uvolni pamat)
free(currentPtr);
break;
}
//iteruj ku dalsiej casti (node)
currentPtr = currentPtr->next;
}
//'currentPtr'= posledny platny node
prevPtr->next = NULL;
free(currentPtr);
return snake;
}