#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) { } /* libere les noeuds d'une liste */ void free_list(struct list_t** list) { if(! (*list)) { /* la liste est vide */ return; } free_list(&(*list)->next); free(*list); *list = NULL; } int main(int argc, char**argv) { struct list_t *list = NULL; int nitem = 30; int i; srand(time(NULL)); /* creation de la liste: on tire au sort n valeurs qu'on insère */ for(i=0; i