Inserindo e removendo itens de uma fila em C
Por: Phillypi Fernandes • 25/4/2016 • Abstract • 806 Palavras (4 Páginas) • 221 Visualizações
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct node{ //Estrutura
int val;
struct node *ant;
};
struct node *filaInicio; //aponta para o primeiro elemento inserido.
struct node *filaFim; //aponta para o ultimo.
void criaVazio(struct node *aux);
void insereFIM(struct node *fila, int valor);
void imprimeFila(struct node *fila);
void testaVazio(struct node *fila);
void removeInic(struct node *inicio);
void menu();
struct node *fila;
int op, val;
void main(){
criaVazio(fila);
menu();
}
void menu(){
while(1==1){
printf("\n---------------\n\n1 - Inserir \n2 - Imprimir\n3 - Remover \n\n---------------\n");
scanf("%d", &op);
switch(op){
case 1:
printf("\nDigite o valor que deseja inserir: ");
scanf("%d", &val);
insereFIM(filaFim, val);
break;
case 2:
printf("\n=========================================\n");
imprimeFila(filaInicio);
printf("\n=========================================\n");
break;
case 3:
removeInic(filaInicio);
break;
case 4:
break;
}
}
}
void criaVazio(struct node *aux){
//Cria um espaço vazio para a inserção de itens na fila
aux = (struct node*) malloc(sizeof(struct node));
if(aux == NULL){
printf("Falha ao criar fila.\n"); //verificação para saber se foi criado com sucesso.
exit(0);
}
aux -> ant = NULL;
aux -> val = NULL;
filaInicio = aux;
filaFim = aux; //O fim é o único elemento
}
//refazer
void removeInic(struct node *inicio){
struct node *aux;
if(inicio -> val == NULL){
printf("\nFila Vazia\n");
return;
}
else if(inicio -> ant == NULL){ //APENAS UM ELEMENTO
inicio -> val = NULL;
...