Fila
Publicado por Ricardo Rodrigues Lucca 02/07/2003
[ Hits: 13.288 ]
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; }
Embutir texto em arquivos de imagem
Lista simplesmente encadeada com busca auto-organizada
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
UTILIZAÇÃO SISTEMA OPERACIONAL - LINUX (0)
Falha ao carregar drivers [RESOLVIDO] (2)
Formatar NVM Express 1.3 de forma segura por completo (4)
Problema ao usar monitor externo via USB-C/Display... no Ubuntu 24 (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta