karlangadas

Pila funciones

Feb 23rd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "Pila.h"
  4.  
  5. void Pila_init(TPila *P){
  6.     P->top = NULL;
  7. }
  8. void Pila_push(TPila *P, TElemento nuevoElem){
  9.     TNodo *ptr_nuevoElem;
  10.    
  11.     ptr_nuevoElem = malloc(sizeof(TNodo));
  12.    
  13.     if (ptr_nuevoElem){
  14.         ptr_nuevoElem->info = nuevoElem;
  15.         ptr_nuevoElem->sig = P->top;
  16.         P->top = ptr_nuevoElem;
  17.     }
  18. }
  19.  
  20. TElemento Pila_pop(TPila *P){
  21.     TElemento top_info; TNodo *ptr_top;
  22.     if (!Pila_isEmpty(P)){
  23.         ptr_top = P->top;
  24.         top_info = ptr_top->info;
  25.         P->top = P->top->sig;
  26.         free(ptr_top);
  27.         return top_info;
  28.     }
  29.     return -1;
  30. }
  31.  
  32. int Pila_isEmpty(TPila *P){
  33.     return (P->top == NULL);
  34. }
  35.  
  36. void Pila_finalize(TPila *P){
  37.     while (!Pila_isEmpty(P))
  38.         Pila_pop(P);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment