### How does Selection Sort work?

Selection Sort implements a simple sorting algorithm as follows:

• Algorithm repeatedly searches for the lowest element.
• Swap current element with an element having the lowest value
• With every iteration/pass of selection sort, elements are swapped.

### Java Program to implement Selection Sort

```package com.guru99;

public class SelectionSortAlgo {

public static void main(String a[])
{
int[] myArray = {860,8,200,9};

System.out.println("------Before Selection Sort-----");

printArray(myArray);

selection(myArray);//sorting array using selection sort

System.out.println("-----After Selection Sort-----");

printArray(myArray);
}

public static void selection(int[] array)
{
for (int i = 0; i < array.length - 1; i++)
{  System.out.println("Sort Pass Number "+(i+1));
int index = i;
for (int j = i + 1; j < array.length; j++)
{
System.out.println("Comparing "+ array[index]  + " and " + array[j]);
if (array[j] < array[index]){
System.out.println(array[index]  + " is greater than " + array[j] );
index = j;

}
}

int smallerNumber = array[index];
array[index] = array[i];
array[i] = smallerNumber;
System.out.println("Swapping Elements: New Array After Swap");
printArray(array);
}
}
static void printArray(int[] array){

for(int i=0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
System.out.println();

}

}```

### Output:

```------Before Selection Sort-----
860 8 200 9
Sort Pass Number 1
Comparing 860 and 8
860 is greater than 8
Comparing 8 and 200
Comparing 8 and 9
Swapping Elements: New Array After Swap
8 860 200 9
Sort Pass Number 2
Comparing 860 and 200
860 is greater than 200
Comparing 200 and 9
200 is greater than 9
Swapping Elements: New Array After Swap
8 9 200 860
Sort Pass Number 3
Comparing 200 and 860
Swapping Elements: New Array After Swap
8 9 200 860
-----After Selection Sort-----
8 9 200 860 ```

YOU MIGHT LIKE: