public class SelectionSort {
public static void main(String args[]) {
int[] array = {1,10,2,9,3,8,4,7,5,6};
System.out.print("Start : " );
for(int x = 0; x < array.length; x++) {
System.out.print( " " + array[x]);
}
System.out.println(" ");
int first;
int tmp;
int count=1;
for ( int i=array.length-1; i>0; i--,count++ ) {
first = 0;
for(int j=1; j<=i; j++) {
if( array[j] < array[first] )
first = j;
}
tmp = array[first];
array[first] = array[i];
array[i] = tmp;
System.out.print("Pass " + count + ": " );
for(int x = 0; x < array.length; x++) {
System.out.print( " " + array[x]);
}
System.out.println(" ");
}
}
}
Output:
# java SelectionSort Start : 1 10 2 9 3 8 4 7 5 6 Pass 1: 6 10 2 9 3 8 4 7 5 1 Pass 2: 6 10 5 9 3 8 4 7 2 1 Pass 3: 6 10 5 9 7 8 4 3 2 1 Pass 4: 6 10 5 9 7 8 4 3 2 1 Pass 5: 6 10 8 9 7 5 4 3 2 1 Pass 6: 7 10 8 9 6 5 4 3 2 1 Pass 7: 9 10 8 7 6 5 4 3 2 1 Pass 8: 9 10 8 7 6 5 4 3 2 1 Pass 9: 10 9 8 7 6 5 4 3 2 1