Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "pile_dynamique.h"
- // initialisation de la pile
- t_pile init_pile() {
- return NULL;
- }
- // indique si la pile est vide
- bool pile_vide (t_pile pile){
- if (pile==NULL)
- return true;
- else
- return false;
- }
- // indique si la pile est pleine
- bool pile_pleine(t_pile pile) {
- return false;
- }
- // empile un élément dans la pile
- void empiler(t_pile* pile,t_info info) {
- t_cellule* p=(t_cellule*)malloc(sizeof(t_cellule));
- p->info = info;
- p->suivant = *pile;
- *pile=p;
- }
- // dépile un élément de la pile
- t_info depiler(t_pile* pile) {
- if (pile_vide(*pile)==false) {
- t_info temp1;
- temp1 = (*pile)->info;
- (*pile)= (*pile)->suivant;
- free(*pile);
- return temp1;
- }
- else
- return system("error pile a sec !");
- }
- // vérification si deux piles sont égales
- bool piles_egales(t_pile pile1,t_pile pile2){
- if ((pile_vide(pile1)== false) || (pile_vide(pile2) == false)){
- while ((pile1!=NULL || pile2!=NULL)&& pile1->info == pile2->info)
- {
- pile1=pile1->suivant;
- pile2=pile2->suivant;
- if((pile_vide(pile1)== true) && (pile_vide(pile2) == true))
- return true;
- if((pile_vide(pile1)== false) || (pile_vide(pile2) == false))
- return false;
- }
- if(pile1->info != pile2->info)
- return false;
- }
- else
- return false;
- }
- int taille_pile(t_pile pile)
- {
- int taille;
- while ( pile->suivant!=NULL) {
- pile=pile->suivant;
- taille ++;
- }
- return taille;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement