13 Decembre
This commit is contained in:
parent
6ae65f705f
commit
640d6da98b
82
DEV1.1/TP15:ListesChainees/circulation.c
Normal file
82
DEV1.1/TP15:ListesChainees/circulation.c
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#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;
|
||||||
|
}
|
||||||
|
|
||||||
|
maillon* retireDebut(maillon *chaine){
|
||||||
|
maillon *premierMaillon=malloc(sizeof(maillon));
|
||||||
|
maillon *nouvelleChaine=malloc(sizeof(maillon));
|
||||||
|
premierMaillon=chaine;
|
||||||
|
nouvelleChaine=premierMaillon->suiv;
|
||||||
|
premierMaillon->suiv=NULL;
|
||||||
|
free(premierMaillon);
|
||||||
|
return nouvelleChaine;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ajouterFin(maillon *chaine, unsigned short entier){
|
||||||
|
maillon *nouveauMaillon=malloc(sizeof(maillon));
|
||||||
|
nouveauMaillon->valeur=entier;
|
||||||
|
nouveauMaillon->suiv=NULL;
|
||||||
|
maillon *parcourir=malloc(sizeof(maillon));
|
||||||
|
parcourir=chaine;
|
||||||
|
while(parcourir->suiv!=NULL){
|
||||||
|
parcourir=parcourir->suiv;
|
||||||
|
}
|
||||||
|
parcourir->suiv=nouveauMaillon;
|
||||||
|
}
|
||||||
|
|
||||||
|
void retireFin(maillon *chaine){
|
||||||
|
maillon *parcourir=malloc(sizeof(maillon));
|
||||||
|
maillon *precedent=malloc(sizeof(maillon));
|
||||||
|
precedent->suiv=NULL;
|
||||||
|
parcourir=chaine;
|
||||||
|
while(parcourir->suiv!=NULL){
|
||||||
|
precedent=parcourir;
|
||||||
|
parcourir=parcourir->suiv;
|
||||||
|
} precedent->suiv=NULL;
|
||||||
|
free(parcourir);
|
||||||
|
free(precedent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void afficheListe(maillon *chaine){
|
||||||
|
maillon *affichage=malloc(sizeof(maillon));
|
||||||
|
affichage=chaine;
|
||||||
|
while(affichage->suiv!=NULL){
|
||||||
|
printf("%hu ",affichage->valeur);
|
||||||
|
affichage=affichage->suiv;
|
||||||
|
} printf("\n\n");
|
||||||
|
free(affichage);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int i;
|
||||||
|
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);
|
||||||
|
unsigned short v=(rand()%889)+111;
|
||||||
|
ajouterFin(liste, v);
|
||||||
|
printf("Les valeurs de la liste sont :\n");
|
||||||
|
afficheListe(liste);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user