Advertisement
tutorfree

pilha.h

Mar 17th, 2016
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.91 KB | None | 0 0
  1. #define N 5
  2.  
  3. typedef struct pilha
  4. {
  5.     int n;
  6.     float vet[N];
  7. }Pilha;
  8.  
  9. Pilha *pilha_cria()
  10. {
  11.     Pilha *p=(Pilha*)malloc(sizeof(Pilha));
  12.     p->n=0;
  13.     return p;
  14. }
  15. int pilha_vazia(Pilha *p)
  16. {
  17.     if (p->n==0) return 1;
  18.     else return 0;
  19. }
  20.  
  21. void pilha_push(Pilha *p, float v)
  22. {
  23.     if(p->n==N)
  24.     {
  25.       printf("Capacidade da pilha esgotada.\n");
  26.       return; //volta para o programa
  27.     }   //insere novo elemento
  28.     p->vet[p->n]=v;
  29.     p->n++;
  30. }
  31.  
  32. float pilha_pop(Pilha *p)
  33. {
  34.      float v;
  35.      if(pilha_vazia(p))
  36.      {
  37.         printf("Pilha vazia.\n");
  38.         exit (1);
  39.      }//retira o elemento da pilha
  40.      v=p->vet[p->n-1];
  41.      p->n--;
  42.      return v;
  43. }
  44.  
  45. void pilha_libera(Pilha *p)
  46. {
  47.      free(p);
  48. }
  49.  
  50. void mostra_pilha(Pilha *p)
  51. {
  52.     int i;
  53.  
  54.     printf("Conteudo da pilha\n");
  55.     for(i=p->n-1;i>=0;i--)
  56.         printf("%0.f\n",p->vet[i]);
  57.     printf("\n");
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement