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

Informatica Sem Problemas

Dissertações: Informatica Sem Problemas. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  14/9/2014  •  373 Palavras (2 Páginas)  •  266 Visualizações

Página 1 de 2

// Implementação de Fila através de apontadores ou ponteiros.

#include "stdio.h"

#include "conio.h"

#include "string.h"

#include "stdlib.h"

// modelo matemático (estrutura de dados)

struct TipoItem { // cada item da fila corresponde a um

char nome[30]; // registro (TipoItem) composto apenas

}; // do campo nome

typedef struct Celula *Apontador; // define o tipo "Apontador" como sendo o

// endereço de uma "Celula"

struct Celula {

TipoItem Item;

Apontador prox;

};

struct TipoFila {

Apontador Frente;

Apontador Final;

int Tamanho;

};

// conjunto de operações que podem ser aplicadas sobre o modelo 'TipoFila'

void FazFilaVazia(TipoFila *Fila);

int FilaVazia(TipoFila *Fila);

void Enfileira(TipoItem x, TipoFila *Fila);

int Desenfileira(TipoFila *Fila, TipoItem *x);

void ImprimeFila(TipoFila *Fila);

void main() {

TipoItem x;

TipoFila Fila;

FazFilaVazia(&Fila); // faz a Fila ficar vazia

while (1) {

ImprimeFila(&Fila);

printf("\nInforme um nome do item a ser enfileirado, (FIM) para encerrar:\n");

gets(x.nome);

if (strcmp(x.nome, "FIM") == 0)

break;

Enfileira(x, &Fila);

}

}

// Faz a 'Fila' ficar vazia criando a célula cabeça

void FazFilaVazia(TipoFila *Fila) {

Fila->Frente = (Apontador) malloc(sizeof(Celula));

Fila->Final = Fila->Frente;

Fila->Frente->prox = NULL;

Fila->Tamanho = 0;

}

// Esta função retorna 1 (true) se a ‘Fila’ está vazia; senão retorna 0 (false)

int FilaVazia(TipoFila *Fila) {

...

Baixar como (para membros premium)  txt (2.5 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com