From d66c0455204b43e372e65fbf7b2484f74542ecab Mon Sep 17 00:00:00 2001
From: Max Skanvik <maxsk293@student.liu.se>
Date: Tue, 26 Jan 2021 13:44:26 +0100
Subject: [PATCH] finished part 3 with no memory leaks

---
 linked_list.c |  38 ++++++++++++++++++++++++++++++++------
 ll            | Bin 0 -> 17088 bytes
 2 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100755 ll

diff --git a/linked_list.c b/linked_list.c
index be90301..0f7cf7f 100644
--- a/linked_list.c
+++ b/linked_list.c
@@ -2,6 +2,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+
 struct list_item {
   int value;
   struct list_item * next;
@@ -19,20 +20,30 @@ void append(struct list_item *first, int x){
   current->next = new_item;
 }
 
+
 void prepend(struct list_item *first, int x){
   struct list_item * new_item = (struct list_item *) malloc(sizeof(struct list_item));
-  new_item->next = first;
+  new_item->next = first->next;
   new_item->value = x;
+  first->next = new_item;
 }
 
+
 void print(struct list_item *first){
   struct list_item * current = first;
-  while (current->next != NULL) {
-    current = current->next;
-    printf("%d \n", current->value);
+  if (current->next != NULL) {
+    while (current->next != NULL) {
+      current = current->next;
+      printf("%d \n", current->value);
+    }
+  }
+  else {
+    printf("Empty arry \n");
   }
+  printf("\n");
 }
 
+
 void input_sorted(struct list_item *first, int x){
   struct list_item * current = first;
   while ((current->next != NULL) && (current->next->value < x)) {
@@ -44,15 +55,17 @@ void input_sorted(struct list_item *first, int x){
   current->next = new_item;
 }
 
+
 void clear(struct list_item *first){
   struct list_item * current;
   while (first->next != NULL) {
-    current = first;
-    first = current->next;
+    current = first->next;
+    first->next = current->next;
     free(current);
   }
 }
 
+
 int main(int argc, char ** argv)
 {
   struct list_item root;
@@ -64,6 +77,19 @@ int main(int argc, char ** argv)
   input_sorted(&root, 4);
   input_sorted(&root, 3);
   input_sorted(&root, 1);
+//  print(&root);
+
+  append(&root, 16);
+  append(&root, 17);
+  append(&root, 16);
+//  print(&root);
+
+  prepend(&root, 22);
+  prepend(&root, 21);
+  prepend(&root, 20);
+
+  clear(&root);
   print(&root);
+
   return 0;
 }
diff --git a/ll b/ll
new file mode 100755
index 0000000000000000000000000000000000000000..ca338def08a842fb4f9a0a691b01b96c01dc4790
GIT binary patch
literal 17088
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

literal 0
HcmV?d00001

-- 
GitLab