Fila
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 13.592 ]
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;
}
Algoritmo para detecção do sistema operacional em C
Um parser para tratar opções passadas para um programa em C
Nenhum comentário foi encontrado.
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Instalar Dual Boot, Linux+Windows. (11)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (3)









