METODO HEAPSORT

jose antonio puerta martinez
05 de Abril del 2012
me gustaria que me ayudaseis con elsiguiente codigo.
Ya que al localizar el padre que es menor que el hijo me quedo estancao a la hora de seguir. a ver si me podeis ayudar
graciassss :)


public List getSortedContent1(){
ArrayList monticulo=new ArrayList();
monticulo.addAll(cola);
int j=size();
int i=0;
//recorrer el monticulo.
for(i=0;i=i){
//miro si cualquiera de los hijos es mayor que el padre.
//hijo derecho es menor que el padre.
if(comparar(monticulo.get(j),monticulo.get((j/2)-1))0){
//guardo el valor del hijo mayor.
E hijoMayor=monticulo.get(j);
int padre=(j/2)-1;
//intercambio valores, hijo sube un nivel
monticulo.set(padre, hijoMayor);
//padre baja.
monticulo.set(j, monticulo.get(padre));

//pregunto si padre es mejor que alguno de los hijos.

}else{
if((monticulo.get(j)==null) &&
monticulo.get(j-1)!=null
&& comparar(monticulo.get(j-1),monticulo.get(j/2))>0){
E hijoMayor=monticulo.get(j-1);
int padre=j/2;
monticulo.set(j-1, monticulo.get(padre));
monticulo.set(padre, hijoMayor);
}
}
}
}
}
return monticulo;
}