Você está na página 1de 4

#include<stdio.

h>
#include<stdbool.h>

/**
* Este programa mostra uma implementao simples
em C de filas estticas, usando funes.
*/

/** Declarando a Fila de inteiros..*/
#define tam_max 10
int inicio=0, fim=-1;
int fila[tam_max];

/**Declarando as funes para manipulao da fila*/
void inserir(int x);
int remover();
bool filaCheia();
bool filaVazia();
void mostrarFila();
/*Resposta da questao 4*/
bool pesquisaElemento(int valor);

/**Implementando cada uma das funes...*/
/** Insero*/
void inserir(int x){

if(!filaCheia()){
fim++;
fila[fim] = x;
}
}

/**Remoo*/
int remover(){

int retorno, i;
if(!filaVazia()){

retorno = fila[inicio];
for(i=0; i<=fim-1; i++)
fila[i] = fila[i+1];

fim--;
}

return retorno;

}

bool filaCheia(){
return (fim==tam_max-1);
}

bool filaVazia(){
return (fim==-1);
}

void mostrarFila(){

int i;

if(!filaVazia()){
for(i=inicio; i<=fim; i++)
printf("%d ", fila[i]);
}

}

bool pesquisaElemento(int valor){

bool retorno = false;
int i;

for(i=inicio; i<=fim; i++)
if(fila[i]==valor){
retorno = true;
break;
}

return retorno;
}

int main(){

int x;

inserir(15);
inserir(18);
inserir(16);
inserir(12);
inserir(20);
inserir(22);
getch();
/*
do{

mostrarFila();
getch();
/*x = remover();
printf("\nx = %d\n", x);
getch();

}while(!filaVazia());
*/
if(pesquisaElemento(20)==true)
printf("Encontrei o valor 20!");
else
printf("Nao encontrei o valor 20");

printf("\n");

system("PAUSE");
return 0;

}

Você também pode gostar