#include #include #define MaxTamQ 100 typedef struct { int Frente,Final; TipoDato listaQ[MaxTamQ]; } Cola; void CrearCola(Cola* Q); void MostrarCola(Cola* Q); void InsertarQ(Cola* Q,TipoDato elemento); TipoDato EliminarQ(Cola* Q); void BorrarCola(Cola* Q); TipoDato FrenteQ(Cola Q); int Qvacia(Cola Q); int LongitudQ(Cola Q); int Qllena(Cola Q); void CrearCola(Cola* Q) { Q->Frente=0; Q->Final=0; } void MostrarCola(Cola* Q) { while(!Qvacia(*Q)) printf("%d",EliminarQ(Q)); } void InsertarQ(Cola* Q,TipoDato elemento) { if(Qllena(*Q)) { puts("imposible"); exit(1); } Q->Final=(Q->Final+1)%MaxTamQ; Q->listaQ[Q->Final]=elemento; } TipoDato EliminarQ(Cola* Q) { TipoDato aux; if(Qvacia(*Q)) { puts("IMPOSIBE"); exit (1); } Q->Frente=(Q->Frente+1)%MaxTamQ; aux=Q->listaQ[Q->Frente]; return aux; } TipoDato Frente(Cola Q) { TipoDato aux; { if(Qvacia(Q)) puts("IMPOSIBLE"); exit(1); } return (Q.listaQ)[Q.Frente+1]%MaxTamQ; } int Qvacia(Cola Q) { return(Q.Frente==Q.Final); } int Qllena(Cola Q) { return (Q.Frente==(Q.Final+1)%MaxTamQ); }