jueves, 11 de agosto de 2011

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 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&gtA 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&gtA 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