Está en la página 1de 1

compareSwap(lista, padre, hijo):=block(

temp: 0,
if (lista[padre] < lista[hijo]) then (
temp: lista[padre],
lista[padre]: lista[hijo],
lista[hijo]: temp,
print(padre, lista),
if (floor(padre/2) # 0) then (
compareSwap(lista, floor(padre/2), padre)
)
),
return(lista)
);

insertHeap(elemento, lista):=block(
lista: endcons(elemento, lista),
largo: length(lista),
print(largo, lista),
if (largo > 1) then (
lista: compareSwap(lista, floor(largo/2), largo)
),
return(lista)
);

También podría gustarte