Escolar Documentos
Profissional Documentos
Cultura Documentos
FilaEstaticaSimples - Modificado
FilaEstaticaSimples - Modificado
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;
}