Hier ist ein Code, um die Elemente eines Array nach rechts zu verschieben, wenn dieses Element größer als das, das an der nächsten Stelle steht.
Die Frage ist:
warum wenn ich dieses Teil des Codes weg mache, dann funktioniert die nicht richtig.
das ist hier das Teil
boolean isSorted = false;
while (!isSorted) {
isSorted=true;
isSorted=false;
}
und warum ist das dort sein muss, um überhaupt dies eichtig zu funktionieren.!!!!
auch warum muss man in der for schleife der bussel isSorted=false; false machen!!!!
Die Frage ist:
warum wenn ich dieses Teil des Codes weg mache, dann funktioniert die nicht richtig.
das ist hier das Teil
boolean isSorted = false;
while (!isSorted) {
isSorted=true;
isSorted=false;
}
und warum ist das dort sein muss, um überhaupt dies eichtig zu funktionieren.!!!!
auch warum muss man in der for schleife der bussel isSorted=false; false machen!!!!
Java:
package a1.SchleifenAbfragenArrays2;
public class aufgabe2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] werte = {10,55,23,18,5,99,22,33,1,38};
System.out.println("Bevoree Sortierung mit Bubblesort");
for (int i = 0; i < werte.length; i++) {
System.out.print(werte[i] + " --> ");
}
bubblesort(werte);
System.out.println("\n"+"Sortierung mit Bubblesort");
for (int i = 0; i < werte.length; i++) {
System.out.print(werte[i] + " --> ");
}
}
public static int[] bubblesort( int [] werte) {
boolean isSorted = false;
while (!isSorted) {
isSorted=true;
for( int d=0; d < werte.length-1; d++) {
if( werte[d] > werte[d+1]) {
isSorted=false;
int temp=werte[d];
werte[d]=werte[d+1];
werte[d+1]=temp;
}
else if(werte[d] < werte[d+1] ){
continue;
}
}
}
return werte;
}
}