TP11 exo2: Add basics UI functions and integrate them is the static and
[TD_C.git] / TP_11 / exo2 / clist.h
diff --git a/TP_11/exo2/clist.h b/TP_11/exo2/clist.h
new file mode 100644 (file)
index 0000000..2ca5752
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef CLIST_H
+#define CLIST_H
+
+/** Linked list of int */
+typedef struct link_s {
+    int value;
+    struct link_s* next;
+} link_t;
+
+link_t* list_new(int value); 
+link_t* list_append(link_t* head, int value); 
+link_t* list_prepend(link_t* head, int value); 
+link_t* list_insert(link_t* head, unsigned index, int value);
+link_t* list_delete(link_t* head, unsigned index);
+link_t* list_concat(link_t* first, link_t* second);
+link_t* list_sort(link_t* head);
+link_t* list_merge_sort(link_t* head);
+unsigned list_count(link_t* head);
+void list_set(link_t* head, unsigned index, int value);
+int list_get(link_t* head, unsigned index);
+void list_clear(link_t* head);
+void list_display_values(link_t* head);
+
+#endif /* CLIST_H */