Saturday, January 25, 2014

Selection Sort

Source:
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 

Blog Archive