Pilha Encadeada
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 23.348 ]
Homepage: http://aventurasdeumdevop.blogspot.com.br/
Um exemplo de pilha encadeada.
// Programador: Ricardo Lucca #include "tela.h" //Declarado para se ter clrscr() e a stdio.h #include <stdlib.h> //uso para malloc #define dgetchar() getchar();getchar(); struct nodo { int elem; struct nodo *prox; } *topo, *aux; bool vazio(struct nodo *campo) { if ( campo == NULL ) return true; else return false; } void insere(void) { int x; printf("\nEntre com o numero a inserir: "); scanf(" %i", &x); aux=(struct nodo *) malloc(sizeof(aux)); aux->elem=x; aux->prox=topo; topo=aux; printf("\nElemento inserido!"); dgetchar(); } void removr(void) { if (vazio(topo)) { aux=topo; topo=topo->prox; free(aux); printf("\nRemovido com sucesso!"); dgetchar(); } } void listar(void)//faz uma busca como c fosse um vetor { if (!vazio(topo)) ; else { aux=topo; for (;(topo->prox)!=NULL;topo=topo->prox) printf("%i\n",topo->elem); printf("%i",topo->elem); printf("\nTecle algo..."); dgetchar(); topo=aux; } } int main(void) { char op; int sair=0; topo=NULL; for (;sair==0;) { clrscr(); printf("1 -> Insere na pilha\n2 -> Remove da pilha\n"); printf("3 -> Listar pilha\n4 -> Sair da pilha\n"); printf("\nDigite uma opção: "); scanf(" %c", &op); switch (op) { case '1': insere(); break; case '2': removr(); break; case '3': listar(); break; case '4': sair=1; break; default: { printf("Opção invalida! \n"); getchar(); getchar(); break; } } } return 0; }
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (4)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (14)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (0)