//falta areglar el quitar_cola //prioriza velocidad typedef int contenedor[MAX]; typedef struct tcola{ contenedor datos1; contenedor datos2; }; void iniciar_cola(tcola &x){ x.datos2[MAX-2]=0; // frente x.datos2[MAX-1]=0; //final } int siguiente(int indice){ if(indice==MAX*2-3) indice=0; else{ indice++; } return indice; } int anterior(int indice){ if(indice==0) indice=MAX*2-3; else indice--; return indice; } bool cola_llena(tcola x){ return (siguiente(x.datos2[MAX-1])==x.datos2[MAX-2]); } bool cola_vacia(tcola x){ return x.datos2[MAX-2]==x.datos2[MAX-1]; } //BICOLA con ENTRADA RESTRINGIDA void agregar_cola(tcola &x, int nuevo){ if(cola_llena(x)==true) cout<<"Cola COMPLETA"; else{ x.datos2[MAX-1]=siguiente(x.datos2[MAX-1]); if(x.datos2[MAX-1]MAX) aux=x.datos2[x.datos2[MAX-1]-MAX];//aux=x.datos2[x.datos2[MAX-2]]; else aux=x.datos1[x.datos2[MAX-1]];//aux=x.datos1[x.datos2[MAX-2]-MAX]; /*aux=x.datos[q.fin]; x.fin=anterior(x.fin);*/ } } return aux; } int consultar_primero(tcola x){ int primero,frente; if (cola_vacia(x)==true) primero=-1; else{ frente=siguiente(x.datos2[MAX-2]); if(frente