Fila
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 13.618 ]
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;
}
Jogando dados e somando os valores
Desenhando Nuvens ou o Fractal de Plasma
Nenhum comentário foi encontrado.
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
WiFi Seguro: EAP-TLS com FreeRADIUS e Active Directory (LDAP).
Vou destruir sua infância:) (9)
Uma ideia para o paulo1205 (1)
Midia de instalação LM-21.3 não inicializa (2)









