hallo, ich hab ein problem mit meinem programm und zwar soll
ich ein array aufsteigend sortieren und das funktioniert auch schon aber
ich darf das array nicht mehr nach dem ersten durchgang wieder und wieder ganz durchlaufen. mal ein beispiel
5 3 1 4 2-> 3 1 4 2 5 -> so jetzt nur noch bis zum vorletzten element durchlaufen, dann 1 3 2 4 5-> jetzt nur noch 3 elemente prüfen usw. und hier ist mein code
mit dem einsweniger in meinem code wollte ich das eben erreichen aber ich weis nicht :bahnhof:
ich ein array aufsteigend sortieren und das funktioniert auch schon aber
ich darf das array nicht mehr nach dem ersten durchgang wieder und wieder ganz durchlaufen. mal ein beispiel
5 3 1 4 2-> 3 1 4 2 5 -> so jetzt nur noch bis zum vorletzten element durchlaufen, dann 1 3 2 4 5-> jetzt nur noch 3 elemente prüfen usw. und hier ist mein code
mit dem einsweniger in meinem code wollte ich das eben erreichen aber ich weis nicht :bahnhof:
Code:
public class Selection2 {
public static int[] fromBeginn(int[] array) {
//variable wird auf falsch gesetzt
boolean tausche = false;
int einsweniger=array.length-1;
do {
tausche = false;
//durchläuft das array bis zum vorletzten Element
for (int i = 0; i < einsweniger; i++) {
if (array[i] > array[i+1]) {
int temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
tausche = true;
}
}
//bewirkt das nur noch bis zum vorletzten Element durchgelaufen wird
//also nicht mehr das komplett array
einsweniger--;
} while (tausche);
return array;
}
public static void main(String[]args){
Selection2 sele=new Selection2();
int array[]=new int[6];
array[0]=1;
array[1]=4;
array[2]=31;
array[3]=0;
array[4]=6;
array[5]=32;
System.out.println(java.util.Arrays.toString(sele.fromBeginn(array)));
}
}
Zuletzt bearbeitet: