Pilha

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> // para alocar memória (malloc) // Aqui definimos a estrutura que será usada // para gerar a pilha, a qual ira conter apenas // o valor a ser armazenado e se sucessor. typedef struct estru { int num; struct estru *prox; // *prox será outra estrutura // dentro da mesma } pilha; // nome que usaremos para chamar essa estrutura pilha *p, *q, *top=NULL; // 2 ponteiros de apoio e o final da pilha // Função responsavel por adicionar um nova estrtura a pilha pushToPile(int val) { p = malloc(sizeof(pilha)); // ponteiro do tamanho da estrutura p->num = val; // estrura num recebe um valor p->prox = q; // p-> recebe seu antecessor top = p; // topo da pilha recebe o valor mais recente q = p; // esse nó é salvo para ser usado em uma proxma chamada } showList() { p = top; while(p != NULL) { printf("%d -> ", p->num); // Mostra valor dentro do nó p = p->prox; // avança a pilha } printf("Desempilhado"); } int main(void) { int numero; while(1) { printf("Digite o valor a ser add ou -1 para sair: "); scanf("%d", &numero); printf("%d\n", numero); if(numero == -1) break; // se numero for -1, o loop é qubrado pushToPile(numero); } printf("\n"); showList(); // Mostra pilha gerada; free(top); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines