Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "pile_dynamique.h"
  4.  
  5. // initialisation de la pile
  6. t_pile init_pile() {
  7. return NULL;
  8. }
  9.  
  10. // indique si la pile est vide
  11. bool pile_vide (t_pile pile){
  12. if (pile==NULL)
  13. return true;
  14. else
  15. return false;
  16. }
  17.  
  18. // indique si la pile est pleine
  19. bool pile_pleine(t_pile pile) {
  20. return false;
  21. }
  22.  
  23. // empile un élément dans la pile
  24. void empiler(t_pile* pile,t_info info) {
  25. t_cellule* p=(t_cellule*)malloc(sizeof(t_cellule));
  26. p->info = info;
  27. p->suivant = *pile;
  28. *pile=p;
  29. }
  30.  
  31. // dépile un élément de la pile
  32. t_info depiler(t_pile* pile) {
  33. if (pile_vide(*pile)==false) {
  34. t_info temp1;
  35. temp1 = (*pile)->info;
  36. (*pile)= (*pile)->suivant;
  37. free(*pile);
  38. return temp1;
  39. }
  40. else
  41. return system("error pile a sec !");
  42. }
  43.  
  44. // vérification si deux piles sont égales
  45. bool piles_egales(t_pile pile1,t_pile pile2){
  46. if ((pile_vide(pile1)== false) || (pile_vide(pile2) == false)){
  47. while ((pile1!=NULL || pile2!=NULL)&& pile1->info == pile2->info)
  48. {
  49. pile1=pile1->suivant;
  50. pile2=pile2->suivant;
  51. if((pile_vide(pile1)== true) && (pile_vide(pile2) == true))
  52. return true;
  53. if((pile_vide(pile1)== false) || (pile_vide(pile2) == false))
  54. return false;
  55. }
  56. if(pile1->info != pile2->info)
  57. return false;
  58. }
  59. else
  60. return false;
  61. }
  62.  
  63. int taille_pile(t_pile pile)
  64. {
  65. int taille;
  66. while ( pile->suivant!=NULL) {
  67. pile=pile->suivant;
  68. taille ++;
  69. }
  70. return taille;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement