Me parecia interesante postear una pila que hice,para que los que se inicien en las pilas(yo no estoy diciendo que sea un experto,bastante lejos de la realidad )tengan un modelo de como es,si hay algun error o algo por mejorar,sea bueno o malo no dudeis en decirmelo:
Código
#include <stdio.h> #include <windows.h> struct pila{ int dato; struct pila *sig; }; void inicializapila(struct pila **p){ *p =NULL; } void push(struct pila **p,int k){ struct pila *n; n = new pila; if (n==NULL){ }else{ n->dato = k; n->sig = *p; *p=n; } } int pop(struct pila **p){ struct pila *m; int k; m = *p; k = m->dato; *p = m->sig; delete m; return k; } int verificarpila(struct pila *p){ if (p == NULL){ }else{ return 1; } } int main (){ struct pila *p; int k; char res; int x; char res2; inicializapila(&p); do{ push(&p,k); }while ((res== 's') || (res=='S')); x = pop(&p); verificarpila(p); printf("\nquiere quitar otro nodo?(Importante:Si se quitan todos los nodos el programa terminara) S/N: "); }while ((res2 =='S') || (res2=='s')); return 0; }
PD:Perdonad la tabulacion xD,si tengo un momento edito el mensaje y la mejoro.Si alguien quiere que ponga comentarios en el codigo que me avise.
Salu2