Codigo Fonte de um programa que usa fila encadeada.

  



Esconder código-fonte

//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;
}

Scripts recomendados

Retorna o tempo ocioso em uma sessão do X

Um parser para tratar opções passadas para um programa em C

Aritmética de ponteiros (gcc)

Passando uma matriz para funcao

Identificando Palíndromos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts