Ruizh

Páginas: 2 (277 palabras) Publicado: 31 de octubre de 2012
COLAS CIRCULARES
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.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS