arbeite doch mit Konsolenausgaben in der while-schleife:
[code=Java]
....
while ((k < i) & (x >= zh[k]))
System.out.println("(" + k + "<" + i + ") & (" + x + " >= " + zh[k] + ") ergibt " + ((k < i) & (x >= zh[k++])));
System.out.println("(" + k + "<" + i + ") & (" + x + " >= " + zh[k] + ") ergibt " + ((k < i) & (x >= zh[k])));
System.out.println("hm" + k + "\n");
....[/code]
edit: Ausgabe:
[code]
(0<0) & (1 >= 1) ergibt false
hm0
(0<1) & (3 >= 1) ergibt true
(1<1) & (3 >= 3) ergibt false
hm1
(0<2) & (4 >= 1) ergibt true
(1<2) & (4 >= 3) ergibt true
(2<2) & (4 >= 4) ergibt false
hm2
(0<3) & (7 >= 1) ergibt true
(1<3) & (7 >= 3) ergibt true
(2<3) & (7 >= 4) ergibt true
(3<3) & (7 >= 7) ergibt false
hm3
(0<4) & (8 >= 1) ergibt true
(1<4) & (8 >= 3) ergibt true
(2<4) & (8 >= 4) ergibt true
(3<4) & (8 >= 7) ergibt true
(4<4) & (8 >= 8) ergibt false
hm4
(0<5) & (9 >= 1) ergibt true
(1<5) & (9 >= 3) ergibt true
(2<5) & (9 >= 4) ergibt true
(3<5) & (9 >= 7) ergibt true
(4<5) & (9 >= 8) ergibt true
(5<5) & (9 >= 9) ergibt false
hm5
(0<6) & (5 >= 1) ergibt true
(1<6) & (5 >= 3) ergibt true
(2<6) & (5 >= 4) ergibt true
[B](3<6) & [COLOR="Red"](5 >= 7) [/COLOR] ergibt false[/B]
hm3
ja
Ausgabe der Sortierung:
1 3 4 5 7 8 9 [/code]