Das ist die 1:1-Umsetzung des Quicksort-Algorithmus, wie er auf
www.delphi-source.de geschrieben ist. Leider funktioniert er nicht so, wie er es soll. Hat jemand eine Idee?
Code:
function QuickSort(&$array,$lo,$hi) {
$i = $lo;
$j = $hi;
echo "Anfang: i: $i, j: $j
";
$x = $array[bcdiv($lo + $hi,2,0)];
while($i<=$j) {
while($array[$i]<$x) $i++;
while($array[$y]>$x) $j--;
if($i <= $j) {
$h = $array[$i];
$array[$i] = $array[$j];
$array[$j] = $h;
$i++;
$j--;
}
}
echo "Ende: i: $i, j: $j
";
if($lo < $j) QuickSort($array,$lo,$j);
if($i < $hi) QuickSort($array,$i,$hi);
}
Ach ja: Die echos sind nur zur Information da und haben nix mit dem Algorithmus selbst zu tun. Falls der Algorithmus mal funktionieren sollte, kommen die raus. Nur falls es Verwirrungen gibt