Professional Documents
Culture Documents
ESTRUCTURAS DE DATOS
2006
N-1 0 0 1 2 3 4 5 6 7
… 1
Gráficamente:
5 2
4 3
DEFINICIÓN
struct {
tipo_base datos [MAX];
int frente,final;
} cola;
struct cola c;
Dada una cola c y un valor, del tipo base, forma una nueva cola
con el valor agregado por el final.
if (!ColaVaciacirc (c))
{ x=(*c).datos [(*c).frente]);
(*c).frente = siguiente((*c).frente );
return x;
}
else
{ cout << ”Cola Underflow \n";
exit (1);
Ing. M.Sc. Fulbia Torres
} Asignatura: Estructuras de Datos
} Barquisimeto 2006
COLAS CIRCULARES
Int siguiente(int r)
{
return (r + 1) % MAX;
}
CrearColacir (c):
0 1 2 3 4
(*c).datos
Mostrará E1 sin
modificar frente
0 1 2 3 4
(*c).datos E1 E2 E3
(*c).final=2
(*c).frente = 0
if (!ColaVaciacirc (c))
{ x=(*c).datos [(*c).frente]);
(*c).frente = siguiente((*c).frente );
return x;
0 1 2 3 4 }
else
(*c).datos E2 E3 E4 { cout << ”Cola Underflow \n";
exit (1);
}
(*c).frente=1 (*c).final=3 }
if (!ColaVaciacirc (c))
{ x=(*c).datos [(*c).frente]);
(*c).frente = siguiente((*c).frente );
return x;
}
0 1 2 3 4 else
(*c).datos { cout << ”Cola Underflow \n";
E3 E4
exit (1);
}
}
(*c).frente=2 (*c).final=3
HASTA LA PRÓXIMA
CLASE