Hallo!
Ich habe einen sehr strangen Fehler beim Dreieckstausch von Array-Elementen.
Trotz eines Dreieckstausches werden die Elemente nicht vertauscht (die Ausgabe "Before:" und "After:" werden ausgegeben, aber in beiden steht dasselbe drin ==> der Dreickstausch hat nicht hingehauen. Sehe nur ich den Wald vor lauter Bäumen nicht, oder was ist das sonst falsch
MfG, Thomas D.
Ich habe einen sehr strangen Fehler beim Dreieckstausch von Array-Elementen.
Code:
var paras = document.getElementById("adminAuswahl").getElementsByTagName ("p");
var change = true;
var temp;
for (c=0; c<paras.length && change; c++)
{
change = false;
for (d=c; d<paras.length; d++)
{
if (getAbsoluteTop (paras[d]) < getAbsoluteTop (paras[ c]))
{
alert ("Before: " +paras[ c].firstChild.nodeValue +" " +paras[d].firstChild.nodeValue);
temp = paras[ c]; //Dreieckstausch
paras[ c] = paras[d];
paras[d] = temp;
alert ("After: " +paras[ c].firstChild.nodeValue +" " +paras[d].firstChild.nodeValue);
change = true;
}
}
}
Trotz eines Dreieckstausches werden die Elemente nicht vertauscht (die Ausgabe "Before:" und "After:" werden ausgegeben, aber in beiden steht dasselbe drin ==> der Dreickstausch hat nicht hingehauen. Sehe nur ich den Wald vor lauter Bäumen nicht, oder was ist das sonst falsch

MfG, Thomas D.