Fila
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 13.576 ]
Homepage: http://aventurasdeumdevop.blogspot.com.br/
Codigo Fonte de um programa que usa fila encadeada.
//tela.h é uma biblioteca pessoal minha que uso, no caso, pra ter stdio.h declarada e clrscr()
#include "tela.h"
#include <stdlib.h>
#define dgetchar() getchar();getchar();
typedef int elemento;
struct nodo
{
elemento elem;
struct nodo *prox;
} *inicio, *fim, *aux;
bool vazio(struct nodo *campo)
{
if ( campo == NULL )
return true;
else
return false;
}
void insere(void)
{
elemento x;
printf("Digite o elemento a inserir: ");
scanf(" %d",&x);
aux=(struct nodo *) malloc(sizeof(aux));
aux->elem=x;
aux->prox=NULL;
if (vazio(inicio)) inicio=fim=aux;
else {
fim->prox=aux;
fim=fim->prox;
}
printf("Inserido com sucesso!");
dgetchar();
}
void removr(void)
{
if (vazio(inicio))
{
printf("Fila vazia!\n");
dgetchar();
} else {
aux=inicio;
inicio=inicio->prox;
free(aux);
printf("Removido com sucesso!\n");
dgetchar();
}
}
void listar(void)
{
if (!vazio(inicio))
{
for (aux=inicio;!vazio(aux->prox);aux=aux->prox)
printf("%d\n",aux->elem);
printf("%d\n",aux->elem);
} else printf("Fila Vazia!");
dgetchar();
}
int main(void)
{
char op;
int sair=0;
inicio=fim=NULL;
for (;sair==0;)
{
clrscr();
printf("1 -> Insere na fila\n2 -> Remove da fila\n");
printf("3 -> Listar fila\n4 -> Sair da fila\n");
printf("\nDigite uma opçao: ");
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çao invalida! \n");
dgetchar();
break;
}
}
}
return 0;
}
Desenhando uma curva Dragão ou o Fractal Jurassic Park
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Não consigo instalar distro antiga no virtualbox nem direto no hd (29)
queria saber como posso alterar a frequencia do meu ryzen 2300u pro (3)









