Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct Element Element;
- struct Element
- {
- int nombre;
- Element *suivant;
- };
- typedef struct Pile Pile;
- struct Pile
- {
- Element *premier;
- };
- void empiler(Pile *pile, int nvNombre)
- {
- Element *nouveau = malloc(sizeof(*nouveau));
- if (pile == NULL || nouveau == NULL)
- {
- exit(EXIT_FAILURE);
- }
- nouveau->nombre = nvNombre;
- nouveau->suivant = pile->premier;
- pile->premier = nouveau;
- }
- int depiler(Pile *pile)
- {
- if (pile == NULL)
- {
- exit(EXIT_FAILURE);
- }
- int nombreDepile = 0;
- Element *elementDepile = pile->premier;
- if (pile != NULL && pile->premier != NULL)
- {
- nombreDepile = elementDepile->nombre;
- pile->premier = elementDepile->suivant;
- free(elementDepile);
- }
- return nombreDepile;
- }
- void afficherPile(Pile *pile)
- {
- if (pile == NULL)
- {
- exit(EXIT_FAILURE);
- }
- Element *actuel = pile->premier;
- while (actuel != NULL)
- {
- printf("%d\n", actuel->nombre);
- actuel = actuel->suivant;
- }
- printf("\n");
- }
- #FILE
- typedef struct Element Element;
- struct Element
- {
- int nombre;
- Element *suivant;
- };
- typedef struct File File;
- struct File
- {
- Element *premier;
- };
- void enfiler(File *file, int nvNombre)
- {
- Element *nouveau = malloc(sizeof(*nouveau));
- if (file == NULL || nouveau == NULL)
- {
- exit(EXIT_FAILURE);
- }
- nouveau->nombre = nvNombre;
- nouveau->suivant = NULL;
- if (file->premier != NULL) /* La file n'est pas vide */
- {
- /* On se positionne à la fin de la file */
- Element *elementActuel = file->premier;
- while (elementActuel->suivant != NULL)
- {
- elementActuel = elementActuel->suivant;
- }
- elementActuel->suivant = nouveau;
- }
- else /* La file est vide, notre élément est le premier */
- {
- file->premier = nouveau;
- }
- }
- int defiler(File *file)
- {
- if (file == NULL)
- {
- exit(EXIT_FAILURE);
- }
- int nombreDefile = 0;
- /* On vérifie s'il y a quelque chose à défiler */
- if (file->premier != NULL)
- {
- Element *elementDefile = file->premier;
- nombreDefile = elementDefile->nombre;
- file->premier = elementDefile->suivant;
- free(elementDefile);
- }
- return nombreDefile;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement