AP Computer Science --- Haas --- SelectionSort


Objective: Understand and implement a Selection Sort.

Below is a complete working program which performs a Selection Sort. Run the code in BlueJ and make sure you understand how it works.



/**
 * The selection sort algorithm
 */
public class SelectionSort {
    public static void sort(int numbers[]) {
        
        int i, j;
        int min, temp;

        for (i = 0; i < numbers.length-1; i++)  {
            min = i; // set first item to minimun

            for (j = i+1; j <  numbers.length; j++)  {  
              if (numbers[j] < numbers[min])
                min = j;  // new minimum found
            }
      
            // swap values
            temp = numbers[i];
            numbers[i] = numbers[min];
            numbers[min] = temp;
        }
    }
}



public class SortTester
{
   public static void main(String args[])
   {
        int[] numArray = {10,6,12,7,1,2,20,4,9,8,0,3,22,5};

	// Before the sort             
        for (int x : numArray) 
            System.out.print(x + " ");
        System.out.println("");
        
        SelectionSort.sort(numArray);

	// After the sort        
        for (int x : numArray) 
            System.out.print(x + " ");
        System.out.println("");
    }
}