Advertisement
Gabriel_Rofl

Untitled

Oct 9th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "pilha.h"
  4.  
  5.  
  6.  
  7. t_pilha* aloca_pilha(){
  8.     t_pilha* ptr = (t_pilha *) malloc(sizeof(t_pilha));
  9.     ptr->topo = NULL;  
  10.     return ptr;
  11. }
  12.  
  13. void push(t_pilha* pilha, int valor){
  14.  
  15.     int ptr = (int *) malloc(sizeof(int));
  16.     ptr->dado = valor;
  17.     ptr->dado->prox = topo;
  18.     pilha->topo = ptr->dado;
  19. }
  20.  
  21. int pop(t_pilha* pilha){
  22.     if(pilha_vazia(pilha) == 1){
  23.         printf("A pilha esta vazia\n");
  24.     }
  25.     pilha* aux = pilha->topo;
  26.     pilha->dado->prox = aux;
  27.     pilha->topo = pilha->dado;
  28.     free(aux);
  29. }
  30.  
  31.  
  32. int get_topo(t_pilha* pilha){
  33.     if(pilha_vazia(pilha) == 1){
  34.         printf("PILHA VAZIA\n");
  35.         return;
  36.     }
  37.     printf("O primeiro elemento da pilha eh: %d\n", pilha->topo);
  38. }
  39.  
  40. int pilha_vazia(t_pilha* pilha){
  41.     return(pilha->topo == NULL);
  42. }
  43.  
  44. int tam_pilha(t_pilha* pilha){
  45.     int counter = 0;
  46.  
  47.     while(pilha->topo != NULL){
  48.         pilha->topo = pilha->dado->prox;
  49.         counter++;
  50.     }
  51.     return counter;
  52. }
  53.  
  54. void print_pilha(t_pilha* pilha){
  55.  
  56.     pilha* aux = pilha->topo;
  57.     while(aux != NULL){
  58.         printf("%d <- ", pilha->topo);
  59.         pilha->topo = pilha->dado;
  60.         aux = aux->prox;
  61.     }
  62.     printf(" NULL\n");
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement