#include #include #include struct maillon_s { unsigned short valeur; struct maillon_s* suivant; }; typedef struct maillon_s maillon; maillon* ajouter_debut(maillon* premier, unsigned short nouveau) { maillon* p = (maillon*) malloc(sizeof(maillon*)); if (p) { p->suivant = premier; p->valeur = nouveau; } return p; } void creer(maillon** liste, int nombre){ int i; srand(time(NULL)); *liste=ajouter_debut(*liste, rand()%((999-111)+111)); for (i=0;ivaleur; premier=premier->suivant; for(;premier!=NULL;premier=premier->suivant){ if (valvaleur) val=premier->valeur; } return val; } void afficher(maillon* premier) { maillon* p; for(p = premier; p != NULL; p = p->suivant) printf("%d ", p->valeur); } void vider(maillon* premier){ maillon* p; maillon* q; for(p = premier; p != NULL; p = q){ q=p->suivant; free(p); } premier=NULL; } int main(void){ int val=10; unsigned short plus_grand; maillon* liste=NULL; creer(&liste,val); afficher(liste); plus_grand=grand(liste); printf("\n%d \n", plus_grand); vider(liste); return EXIT_SUCCESS; }