int main(int argc, char *argv[]) { void *pilha; char valor[100]; int count; pilha = novaPilha(); count = 5; do { printf("Digite uma palavra: "); gets(valor); push(pilha,valor); imprimePilha(pilha); count--; } while(count > 0); imprimePilha(pilha); while(pop(pilha,valor) != 2) { printf("Desempilhando: %s\n",valor); imprimePilha(pilha); } excluiPilha(pilha); return 0; }
int main (){ Pilha *pilha; pilha = criaPilha(10); if (emptyPilha(pilha)) { printf ("A pilha está vazia\n"); } if (popPilha(pilha,NULL)==UNDERFLOW) { printf ("Ocorreu UNDERFLOW da pilha\n"); } for(long l = 0; ; l++) { if(pushPilha(pilha, (int) l ) == OVERFLOW) { printf ("Ocorreu OVERFLOW da pilha no %ld-esimo elemento\n", l); break; } } imprimePilha(pilha); destroiPilha(&pilha); return 0; }
void invertePilha(pilha *pilinv, pilha *pil) { int i, j = pil->topo; inicPilha(pilinv); for(i=j; i >= 0; i--) { push(pilinv, pil->vet[i]); pop(pil); } printf("Pilha Invertida:\n"); imprimePilha(pilinv); }