Buscar

FilaDupla.h

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#ifndef FILASEQUENCIAL_H_INCLUDED
#define FILASEQUENCIAL_H_INCLUDED
#define MAX 5
using namespace std;
struct Fila{
 int elementos[MAX];
 int inic, fim, qtde;
 Fila();
 void insereinic(int x);
 void inserefim(int x);
 int removerinic();
 int removerfim();
 int primeiro();
 int ultimo();
 void mostrafila();
 bool filacheia();
 bool filavazia();
 int getInic();
 int getFim();
 int getQtde();
 int getValor(int posicao);
};
Fila::Fila(){
 qtde=0;
 inic=0;
 fim=-1;
}
void Fila::insereinic(int x){
 inic--;
 elementos[inic]=x;
 qtde++;
}
void Fila::inserefim(int x){
 fim++;
 if(fim==MAX) fim=0;
 elementos[fim]=x;
 qtde++;
}
int Fila::removerinic(){
 int t=elementos[inic];
 inic++;
 if(inic==MAX) inic=0;
 qtde--;
 return t;
}
int Fila::removerfim(){
 int t=elementos[fim];
 fim--;
 if(fim==MAX) fim=0;
 qtde--;
 return t;
}
int Fila::primeiro(){
 return elementos[inic];
}
int Fila::ultimo(){
 return elementos[fim];
}
void Fila::mostrafila(){
 for(int i=getInic();i<=getFim();i++){
 cout<<getValor(i)<<endl;
 }
}
bool Fila::filavazia(){
 return qtde==0;
}
bool Fila::filacheia(){
 return qtde==MAX;
}
int Fila::getFim(){
 return fim;
}
int Fila::getInic(){
 return inic;
}
int Fila::getQtde(){
 return qtde;
}
int Fila::getValor(int posicao){
 return elementos[posicao];
}
#endif // FILASEQUENCIAL_H_INCLUDED

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais