Javakurs/Übungsaufgaben/SelectionSort/Musterloesung
< Javakurs | Übungsaufgaben | SelectionSort
Lösung
/*
* @author Sebastian Peuser
*/
public class SelectionSort{
public static void main(String[] args){
int[] array = {3,5,3,2,6,4,8,6,4,9};
sortArray(array);
}
/*
* Hier wird das Array sortiert
*/
public static void sortArray(int[] array){
for(int i=0;i<array.length;i++){
printArray(array);
int minimum = findMinimum(array,i,array.length-1);
swap(array,i,minimum);
}
}
/*
* Hier werden 2 Elemente des Arrays getauscht
*/
private static void swap(int[] array, int position1, int position2){
int tmp=array[position1];
array[position1] = array[position2];
array[position2] = tmp;
}
/*
* Hier wird das Minimum des Teil-Arrays gefunden und der Index (wo es sich befindet) zurueckgegeben
*/
private static int findMinimum(int[] array, int startIndex, int endIndex){
int position = startIndex;
int currentMinimum = array[startIndex];
for(int i=startIndex+1;i<=endIndex;i++){
if(array[i]<currentMinimum){
position = i;
currentMinimum = array[i];
}
}
return position;
}
/*
* prueft, ob ein Array sortiert ist
*/
public static boolean isSorted(int[] array){
boolean var = true;
for(int i=1;i<array.length;i++){
if(array[i]<array[i-1]){
var = false;
break;
}
}
return var;
}
/*
* Ein Array wird auf der Konsole ausgegeben
*/
public static void printArray(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
}