Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura Multples Colas
Estructura Multples Colas
PILA DE COLAS
ColaS PilaCS
max max
Y v[max+1] ColaS v[max+1]
ini,fin tope
X Y S ColaS() PilaCS()
esvacia() esvacia()
S T esllena() esllena()
nroelem() nroelem()
A G C adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
ColaC PilaCC
max max
v[max+1] ColaC v[max+1]
ini,fin tope
ColaC() PilaCC()
esvacia() esvacia()
esllena() esllena()
nroelem() nroelem()
adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
COLA DE COLAS
ColaS ColaCS
… max max
v[max+1] ColaS v[max+1]
ini,fin ini,fin
ColaS() ColaCS()
esvacia() esvacia()
esllena() esllena()
nroelem() nroelem()
adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
ColaC ColaCC
max max
v[max+1] ColaC v[max+1]
ini,fin ini,fin
ColaC() ColaCC()
esvacia() esvacia()
esllena() esllena()
nroelem() nroelem()
adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
ColaS ColaCC
max max
v[max+1] ColaS v[max+1]
ini,fin ini,fin
ColaS() ColaCC()
esvacia() esvacia()
esllena() esllena()
nroelem() nroelem()
adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
ColaC ColaCC
max max
v[max+1] ColaC v[max+1]
ini,fin ini,fin
ColaC() ColaCC()
esvacia() esvacia()
esllena() esllena()
nroelem() nroelem()
adicionar(elem) adicionar(elem)
eliminar() eliminar()
llenar(n) llenar(n)
mostrar() mostrar()
vaciar(Z) vaciar(Z)
PROBLEMAS Modularizando
Contar(ColaSCv a, String x)
Cuantos Vehículos del Color X existe en el {
conjunto de Colas b=new ColaSCV()
Contar(ColaSCV a, String x) c=0
{ b=new ColaSCV() while not a.esvacia()
aux=new ColaSV() {
c=0 ColaSV cx=a.eliminar()
while not a.esvacia() c=c+busca(cx,x)
{ ColaSV cx=a.eliminar() b.adicionar(cx)
While not cx.esvacia() }
{ Vehiculo vx=cx.eliminar() Print(c)
If vx.getColor()=x a.vaciar(b)
c=c+1 }
aux.adicionar(vx) busca(ColaSV cx, String x)
} {
cx.vaciar(aux) Aux=new ColaSV()
b.adicionar(cx) k=0
} while not cx.esvacia()
a.vaciar(b) { Vehiculo vx=cx.eliminar()
print(c) If vx.getColor()=x
} k=k+1
aux.adicionar(vx)
}
cx.vaciar(aux)
return k
}
Llevar a una nueva cola los vehículos de la marca marcaX(ColaCSV a, String x)
X { aux=new ColaCSV()
marcaX(ColaCSV a, String x) nueva, aux2=new ColaSV()
{ aux=new ColaCSV() while not a.esvacia()
nueva, aux2=new ColaSV() { ColaSV cx=a.eliminar()
while not a.esvacia() ColaSV nueX=buscaX(cx,x)
{ ColaSV cx=a.eliminar() nueva.vaciar(nueX)
While not cx.esvacia() aux.adicionar(cx)
{ Vehiculo vx=cx.eliminar() }
If vx.getMarca()=x a.vaciar(aux)
nueva.adicionar(vx) a.adicionar(nueva)
Else }
aux2.adicionar(vx) buscas(ColaSV a, String x)
} { aux,nue=new ColaSV()
cx.vaciar(aux2) While not a.esvacia()
aux.adicionar(cx) { Vehiculo vx=a.eliminar()
} If vx.getMarca()=x
a.vaciar(aux) nue.adicionar(vx)
a.adicionar(nueva) Else
} aux.adicionar(vx)
}
cx.vaciar(aux)
return nue
}
Ejemplo Cola Circular de Colas Simples de Vehículos
Vehiculo ColaSV ColaCCV
placa max max
marca Vehiculo v[max+1] ColaSV v[max+1]
color ini,fin ini,fin
modelo
Ejemplo Cola Simple de Colas Simples de Vehículos
Vehiculo ColaSV ColaSCV
placa max max
marca Vehiculo v[max+1] ColaSV v[max+1]
color ini,fin ini,fin
modelo
ColaCCV
max
ColaSV v[max+1]
ini,fin
MULTIPLE COLA
1 2 3 4 …. N-1 N
1 2 3 4 …. N-1 N
Cola de Colas
palabra
Sea un diccionario que almacena palabras y de cada palabra almacena sus significados
}
Print(c)
}
Tarea:
1. llevar a una nueva cola los vehículos de la marca X
2. Reorganizar las colas, tal que en cada cola estén vehículos de mismo color
3. Eliminar la i-esima cola, distribuyendo sus elementos en el resto de las colas