Ruizh
Páginas: 2 (277 palabras)
Publicado: 31 de octubre de 2012
ESTRUCTURAS DE DATOS 2006
Prof. Ing. M.Sc. Fulbia Torres
COLAS CIRCULARES
IMPLEMENTACIÓN COLA CIRCULAR (Utilizando Arreglos) La solución que se describeimplica reutilizar las componentes del vector que contenían elementos ya eliminados. Esto es, cuando durante el proceso de añadido lleguemos al final del vector, comenzaremos a llenar denuevo las componentes iniciales del mismo si se encuentran vacías. Para lograr esto manejaremos el vector como si fuese un “vector circular”. Esto significa que no consideraremos lacomponente MAX del vector como la última del mismo, sino que consideraremos que la siguiente componente a ésta es otra vez la primera del vector
Ing. M.Sc. Fulbia Torres Asignatura:Estructuras de Datos Barquisimeto 2006
COLAS CIRCULARES
N-1
0 1 2
0
1
2
3
4
5
6
7
…
Gráficamente:
5 4 3
Ing. M.Sc. Fulbia Torres Ing. M.Sc.Fulbia Torres Asignatura: Estructuras de Datos Asignatura: Estructuras de Datos Barquisimeto 2005
Barquisimeto 2006
COLAS CIRCULARES
DEFINICIÓN # define MAX número máximo deelementos struct { tipo_base datos [MAX]; int frente,final; } cola; struct cola c;
Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
COLAS CIRCULARES
Conesta definición de Cola las operaciones asociadas especificadas en el TAD quedarían del siguiente modo: Crea una cola vacía. cola CrearColacirc (struct cola *c) { (*c).frente = 0;(*c).final = MAX-1; }
Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
COLAS CIRCULARES
Dada una cola c y un valor, del tipo base, forma una nueva cola conel valor agregado por el final.
void InsertarColacirc (struct cola *c, tipo_base valor) { if (!ColaLLenacirc (c) { c.final = siguiente(final); c.datos[c.final]=valor; } else { cout
Leer documento completo
Regístrate para leer el documento completo.