Pilha Encadeada
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 23.439 ]
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;
}
Lista duplamente encadeada com cabecalho
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (9)
Monte o Google Drive como uma pasta remota no Linux (0)
Compartilhar ZEBRA ZD220 na rede (0)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (8)









