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