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.
When you run above program, you will get below output:
Table of Contents
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.
Below visualization will make it more clear
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)
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.