#include #include using namespace std; typedef int contenedor[MAX]; typedef struct tcola{ contenedor datos; int frente; int fin; }; void iniciar_cola(tcola &x){ x.frente=0; // frente x.fin=0; // final } int anterior(int indice){ if(indice==0) indice=MAX-1; else indice--; return indice; } bool cola_llena(tcola x){ return (anterior(x.fin)==x.frente); } bool cola_vacia(tcola x){ return x.fin==x.frente; } void agregar_cola(tcola &x, int nuevo){ if (cola_llena(x)==true) cout <<"COLA LLENA"<< endl; else{ x.fin=anterior(x.fin); x.datos[x.fin]=nuevo; } } int quitar_cola(tcola &x){ int extraido; if (cola_vacia(x)==true) extraido=-1; else{ x.frente=anterior(x.frente); extraido=x.datos[x.frente]; } return extraido; } int consultar_primero(tcola x){ int primero; if(cola_vacia(x)==true) primero=-1; else primero=x.datos[anterior(x.frente)]; return primero; } int consultar_ultimo(tcola x){ int ultimo; if(cola_vacia(x)==true) ultimo=-1; else ultimo=x.datos[x.fin]; return ultimo; }