Fila em C
Publicado por Perfil removido (última atualização em 05/07/2011)
[ Hits: 6.495 ]
Fila alocada dinamicamente, em que o usuário tem a opção de inserir, remover ou mostrar os valores.
#include<stdlib.h> #include<stdio.h> typedef struct campo { int valor; struct campo *prox; } *ptrCampo; void iniciaFila(ptrCampo *l) { *l = NULL; } /*=============inserção dos valores===================*/ void insere(ptrCampo *l, int numero) { ptrCampo n = (ptrCampo)malloc(sizeof(struct campo)); (*n).valor = numero; if(*l) { (*n).prox = (**l).prox; (**l).prox = n; } else (*n).prox = n; *l = n; } /*=================retirada dos valores===============*/ void retira(ptrCampo *l) { ptrCampo aux; if(*l == (**l).prox) { aux = *l; free(aux); *l = NULL; } else { aux = (**l).prox; (**l).prox = (*aux).prox; free(aux); } } /*==============impressão dos valores=====================*/ void imprime(struct campo l) { ptrCampo aux; aux = l.prox; printf("Fila: ["); printf("%d", (*aux).valor); while((*aux).prox != l.prox) { aux = (*aux).prox; printf("%5d", (*aux).valor); } printf("]\n"); } /*====================================================*/ main() { ptrCampo f; int opcao; iniciaFila(&f); printf("1: Inserir\t2: Remover\t3: Mostrar\t0: Sair\nOpção: "); scanf("%d", &opcao); while(opcao) { switch(opcao) { case 1: { int s; printf("Valor: "); scanf("%d", &s); insere(&f, s); break; } case 2: if(f) retira(&f); else printf("Fila vazia!\n"); break; case 3: if(f) imprime(*f); else printf("Fila vazia!\n"); break; default: printf("Opção inválida!\n"); } printf("Opção: "); scanf("%d", &opcao); } } /*gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3*/
Jogo defutebol simples (com gráficos)
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Magic SysRq key - O botão de pânico no kernel do seu Linux
Erro na atualização dos apps na barra de tarefas (15)
Chamadas de variável de uma página para outra no PHP8 (4)
Albfneto. Voltando devagar. (7)
HD externo não mostra arquivos (6)
Equipamentos não ligam com a fonte original - NetMetal5 - OmnTik5 (2)