From eb5730b438d15d99f4e38565d4e132a3faef994e Mon Sep 17 00:00:00 2001 From: Blake Romero Date: Thu, 19 Sep 2024 18:06:34 +0100 Subject: Fix llfree removing nodes --- src/ll.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/ll.c') diff --git a/src/ll.c b/src/ll.c index fdf86af..8e2d078 100644 --- a/src/ll.c +++ b/src/ll.c @@ -70,15 +70,18 @@ void llinsert(Node** head, int value, int index) { node->next = n; } -void llfree(Node* head) { - Node* n = NULL; - while (head != NULL) { - n = head; - head = head->next; +void llfree(Node** head) { + while (*head != NULL) { + Node* n = *head; + *head = (*head)->next; free(n); } + *head = NULL; } +// TODO: llfree recursive implementation +// ... + int llrmlast(Node** head) { Node* n = *head; Node* cur = NULL; -- cgit