If you want to practice data structure and algorithm programs, you can go through data structure and algorithm interview programs.
Selection sort is an in place comparison sorting algorithm. It is very simple to implement but it does not go well with large number of inputs.
Selection sort algorithm
Selection sort algorithm
When you run above program, you will get below output:
Time complexity
Table of Contents
- Find the minimum element in the list.
- Swap minimum element with current element.
- Repeat the whole process until array is fully sorted.
Below visualization will make it more clear

|
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] |
Best case : O(N^2)
Average case : O(N^2)
Worst case : O(N^2)
To understand more about complexity,please go through complexity of algorithm.
Was this post helpful?
Let us know if this post was helpful. Feedbacks are monitored on daily basis. Please do provide feedback as that\'s the only way to improve.