Pilha Encadeada
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 23.284 ]
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; }
Calculadora simples de dois valores, soma, subtrai, multiplica e divide
Passando uma matriz para funcao
Converter Decimal para Binário em C
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (2)
Ubuntu com problemas no áudio (1)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)