Doble cola
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 manera:
- 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
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
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
Fuente: Apunte de Estructura de Datos del Instituto tecnológico de la Paz