Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURA DE DATOS
PRACTICA 6: Colas
Ejemplo 1:
Escribir un subalgoritmo que permita insertar un elemento en una doble cola – representada por
un vector – Tenga en cuenta que debe existir un parámetro que indique el extremo de la doble cola
en que debe realizarse la inserción.
El predicado nos servirá para verificar si se puede insertar un elemento nuevo al vector, ya que se
tienen un número máximos de este.
Predicado ColaLlena(Bicola BC)
Si(BC.tama = max) entonces
retornar true
Sino
retornar false
FinSi
FinPredicado
La acción EncolarIZQ permite insertar un elemento por la parte izquierda. Al realizarse esta
acción, primero verificará si la cola está llena, en el caso contrario procederá a insertar el nuevo
elemento. El proceso de inserción es mover todos los elementos de la bicola un casillero, luego
insertar en la primera posición el nuevo dato.
Acción EncolarIZQ(Bicola BC, entero dato)
Si(ColaLlena()) entonces
Escribir("La cola ya se encuentra
llena")
Sino
BC.ult ← BC.ult + 1
BC.tama ← BC.tama + 1
i ← prim
temp → BC.V[prim]
Mientras(i != BC.ult) hacer
aux ← BC.V[i+1]
BC.V[i+1] ← temp
temp ← aux
i←i+1
FinMientras
BC.V[prim] ← dato
FinSi
FinAcción
La acción EncolarDER , solo se procederá a mover la última posición un casillero e insertar en ese
mismo el dato nuevo; teniendo en cuenta que la bicola no esté llena.
Predicado Lleno(Cola C)
Si (C.tam=C.max)
retornar Verdadero
sino
retornar falso
fin-si
Fin-predicado
Ejemplo 2:
c) Como con este sistema es fácil que algún expediente se retrase mucho, de vez en
cuando un juez pide que se tramite un determinado expediente urgentemente. Para ello
indica el código de dicho expediente. Definir la operación Urgencia, que permitirá
buscar un determinado expediente en la bandeja y eliminarlo de ella para tramitarlo.