Fila
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 13.583 ]
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;
}
Calculadora em C separada por funções e com diretivas
Embutir texto em arquivos de imagem
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









