Hi,
ich versuche den bubble sort algorithmus hinzubekommen aber habe es nicht hingekriegt und dann irgendwo einen code abgeschrieben...
Naja aber es funktioniert iwie auch nicht..Und was ich auch nicht verstehe ist, warum man in der for schleife i<array.length-j nimmt..ich würde einfach -1 nehmen..
hier ist der code:
Meine nicht abgeschriebene version sah so aus:
ich versuche den bubble sort algorithmus hinzubekommen aber habe es nicht hingekriegt und dann irgendwo einen code abgeschrieben...
Naja aber es funktioniert iwie auch nicht..Und was ich auch nicht verstehe ist, warum man in der for schleife i<array.length-j nimmt..ich würde einfach -1 nehmen..
hier ist der code:
Java:
public class Bubble_Sort {
int[] sortiere(int[] array){
boolean swapped = true;
int j=0;
while(swapped){
swapped = false;
j++;
for(int i=0; i<array.length-j; i++){
int merke = i;
if(array[i]> array[i+1]){
array[i] = array[i+1];
array[i+1] = array[merke];
swapped = true;
}
}
}
return array;
}
public static void main(String[] args){
int[] liste = new int[10]; //Diese Liste wird nicht benutzt..
for(int i=0; i<liste.length; i++){
liste[i] = i*i;
}
int array[] = {34,56,4,2,34,65,3,4,1,56,43,54,7,0,8,76,5,456,45,46,76,75,77};
Bubble_Sort sort = new Bubble_Sort();
for(int i: sort.sortiere(array)){
System.out.print(" "+i);}
}
}
Ausgabe = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 45 45 46 75 75 77
Meine nicht abgeschriebene version sah so aus:
Java:
public class Bubble_Sort {
int[] sortiere(int[] array){
for(int j=0; j<array.length; j++){
for(int i=0; i<array.length-1; i++){
int merke = i;
if(array[i]> array[i+1]){
array[i] = array[i+1];
array[i+1] = array[merke];
}
}
}
return array;
}
...(untere Teil ist gleich)
ausgabe: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 45 45 46 75 75 77