If you want to practice data structure and algorithm programs, you can go through data structure and algorithm interview programs.

## Selection sort algorithm

- Find the minimum element in the list.
- Swap minimum element with current element.
- Repeat the whole process until array is fully sorted.

## Selection sort algorithm

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
package org.arpit.java2blog; import java.util.Arrays; public class SelectionSortMain { public static int[] selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int index = i; for (int j = i + 1; j < arr.length; j++) if (arr[j] < arr[index]) index = j; int smallerNumber = arr[index]; arr[index] = arr[i]; arr[i] = smallerNumber; } return arr; } public static void main(String a[]){ int[] arr = {40,10,-30,45,39,32}; System.out.println("Before Sorting : "); System.out.println(Arrays.toString(arr)); arr = selectionSort(arr); System.out.println("==================="); System.out.println("After Sorting : "); System.out.println(Arrays.toString(arr)); } } |

1 2 3 4 5 6 7 |
Before Sorting : [40, 10, -30, 45, 39, 32] =================== After Sorting : [-30, 10, 32, 39, 40, 45] |

## Time complexity

Best case : `O(N^2)`

Average case : `O(N^2)`

Worst case : `O(N^2)`