Esta estructura es una cola bidimensional en que las inserciones y eliminaciones se pueden realizar en cualquiera de los dos extremos de la bicola. Gráficamente representamos una bicola de la siguiente man:
Existen dos variantes de la doble cola:
- Doble cola de entrada restringida.
- Doble cola de salida restringida.
La primer variante sólo acepta inserciones al final de la cola, y la segunda acepta eliminaciones sólo al frente de la cola
a) ALGORITMOS DE ENTRADA RESTRINGIDA
Algoritmo de Inicialización
F < -- 1
A <-- 0
Algoritmo para Insertar
Si A=máximo entonces
mensaje (overflow)
en caso contrario
A <--A+1
cola[A]<-- valor
Algoritmo para Extraer
Si F>A entonces
mensaje (underflow)
en caso contrario
mensaje (frente/atrás)
si frente entonces
x <-- cola[F]
F <-- F+1
en caso contrario
x <-- cola[A]
A <-- A-1
b) ALGORITMOS DE SALIDA RESTRINGIDA
Algoritmo de Inicialización
F <--1
A <-- 0
Algoritmo para Insertar
Si F>A entonces
mensaje (overflow)
en caso contrario
mensaje (Frente/Atrás)
si Frente entonces
cola[F] <--valor
en caso contrario
A <-- A+1
cola[A] <--valor
Algoritmo para Extraer
Si F=0 entonces
mensaje (underflow)
en caso contrario
x <--cola[F]
F <-- F+1
No hay comentarios:
Publicar un comentario