61 lines
1.3 KiB
C
61 lines
1.3 KiB
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <time.h>
|
||
|
|
||
|
struct maillon {
|
||
|
unsigned short valeur;
|
||
|
struct maillon* suiv;
|
||
|
};
|
||
|
|
||
|
typedef struct maillon maillon;
|
||
|
|
||
|
|
||
|
maillon* ajouteDebut(maillon *chaine, unsigned short entier){
|
||
|
maillon *nouveauMaillon=malloc(sizeof(maillon));
|
||
|
nouveauMaillon->valeur=entier;
|
||
|
nouveauMaillon->suiv=chaine;
|
||
|
return nouveauMaillon;
|
||
|
free(nouveauMaillon);
|
||
|
}
|
||
|
|
||
|
void afficheListe(maillon *chaine){
|
||
|
maillon *affichage=malloc(sizeof(maillon));
|
||
|
affichage=chaine;
|
||
|
while(affichage->suiv!=NULL){
|
||
|
printf("%hu ",affichage->valeur);
|
||
|
affichage=affichage->suiv;
|
||
|
} free(affichage);
|
||
|
}
|
||
|
|
||
|
int maximum(maillon *chaine){
|
||
|
maillon *chercheMax=malloc(sizeof(maillon));
|
||
|
int max=0;
|
||
|
chercheMax=chaine;
|
||
|
while(chercheMax->suiv!=NULL){
|
||
|
if (max<chercheMax->valeur){
|
||
|
max=chercheMax->valeur;
|
||
|
}
|
||
|
chercheMax=chercheMax->suiv;
|
||
|
} free(chercheMax);
|
||
|
return max;
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
int i;
|
||
|
int maxi;
|
||
|
maillon *liste=malloc(sizeof(maillon));
|
||
|
srand(time(NULL));
|
||
|
|
||
|
putchar('\n');
|
||
|
liste->valeur=(rand()%889)+111;
|
||
|
liste->suiv=NULL;
|
||
|
for(i=0;i<10;i++){
|
||
|
unsigned short v=(rand()%889)+111;
|
||
|
liste=ajouteDebut(liste, v);
|
||
|
} printf("Les valeurs de la liste sont :\n");
|
||
|
afficheListe(liste);
|
||
|
putchar('\n');
|
||
|
maxi=maximum(liste);
|
||
|
printf("\nLa valeur maximum de la liste est : %hu\n\n",maxi);
|
||
|
return 0;
|
||
|
}
|