Ajoute un court paquet de listes chaînées

This commit is contained in:
2022-10-14 09:30:20 +02:00
parent 1d08d368d5
commit 03b7ee8494
5 changed files with 61 additions and 0 deletions

16
linked-list/Makefile Normal file
View File

@@ -0,0 +1,16 @@
all: test
test: testLinkedList
./testLinkedList
testLinkedList: build/linkedList.o build/testLinkedList.o
gcc -o $@ $^
build/linkedList.o: src/linkedList.c src/linkedList.h | build
gcc -Wall -c src/linkedList.c -o build/linkedList.o
build/testLinkedList.o: test/testLinkedList.c src/linkedList.h | build
gcc -Wall -Isrc/ -c test/testLinkedList.c -o build/testLinkedList.o
build:
mkdir build

View File

@@ -0,0 +1,18 @@
#include "linkedList.h"
#include <stdlib.h>
LinkedList createLinkedList(void) {
return NULL;
}
void freeLinkedList(LinkedList *list) {
struct list_node *next;
struct list_node *node = *list;
while (node != NULL) {
next = node->next;
free(node);
node = next;
}
*list = NULL;
}

View File

@@ -0,0 +1,13 @@
#ifndef MY_LINKED_LIST_H
#define MY_LINKED_LIST_H
typedef struct list_node {
int value;
struct list_node *next;
} *LinkedList;
LinkedList createLinkedList(void);
void freeLinkedList(LinkedList *list);
#endif // MY_LINKED_LIST_H

View File

@@ -0,0 +1,11 @@
#include "linkedList.h"
#include <assert.h>
#include <stdio.h>
int main(void) {
LinkedList list = createLinkedList();
freeLinkedList(&list);
printf("Success!\n");
return 0;
}