Fila

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> // para alocar memória (malloc) // Aqui definimos a estrutura que será usada // para gerar a fila, a qual ira conter apenas // o valor a ser armazenado e se sucessor. typedef struct estru { int num; struct estru *prox; // *prox será outra estrutura // dentro da mesma } fila; // nome que usaremos para chamar essa estrutura // 2 ponteiros de apoio, inicio e fim da fila fila *p, *q, *start=NULL, *end; // Função responsavel por adicionar um nova estrtura a fila pushToFila(int val) { p = malloc(sizeof(fila)); // ponteiro do tamanho da estrutura p->num = val; // estrura num recebe um valor // caso seja o primeiro valor, // o começo da fila é definido if(start == NULL) start = p; // Caso contrario q->prox (nó anterior) recebe esse nó else q->prox = p; q = p; // esse nó é salvo para ser usado em seguida end = p; // final da fila é registrado } // no caso de uma fila, quando os valores são mostrados tbm são removidos // da fila pois ja cumpriram seu propósito; showFila() { while(1) { printf("%d saiu da fila\n", start->num); // Mostra valor dentro do nó if(start == end) break; // Caso p seja igual a fim, a fila foi encerrada start = start->prox; // fila avança } printf("\nFim da fila"); } int main(void) { int numero; while(1) { printf("Digite o valor a ser add ou -1 para sair: "); scanf("%d", &numero); printf("%d\n", numero); if(numero == -1) break; // se numero for -1, o loop é qubrado pushToFila(numero); } printf("\n"); showFila(); // Mostra fila gerada; free(start); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines