#include #include #include struct list_t{ int value; /* valeur stockee dans ce noeud de la liste */ struct list_t* next; /* pointeur vers le prochain noeud de la liste */ }; /* cree un nouveau noeud contenant value et l'insere dans la liste */ void list_add(struct list_t **list, int value) { struct list_t* new_node = malloc(sizeof(struct list_t)); new_node->value = value; new_node->next = *list; *list = new_node; } /* affiche les noeuds d'une liste */ void print_list(struct list_t* list) { if(!list) { printf("NULL\n"); return ; } printf("%d -> ", list->value); print_list(list->next); } /* trie une liste */ void sort_list(struct list_t** list) { /* A COMPLETER (Question 2.3) */ } /* libere les noeuds d'une liste */ void free_list(struct list_t** list) { /* A COMPLETER (Question 2.2) */ } int main(int argc, char**argv) { struct list_t *list = NULL; int nitem = 20; int i; srand(time(NULL)); /* creation de la liste: on tire au sort n valeurs qu'on insère */ for(i=0; i