TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Inserindo e removendo itens de uma fila em C

Por:   •  25/4/2016  •  Abstract  •  806 Palavras (4 Páginas)  •  221 Visualizações

Página 1 de 4

#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;

...

Baixar como (para membros premium)  txt (3.1 Kb)   pdf (57.4 Kb)   docx (10.8 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com