Selection Sort

Selection sort is an algorithm in which the smallest element from an unsorted list is selected in each iteration and placed at the beginning of the unsorted list.
Selection sort then selects the next-smallest element every time and swaps it into the correct place. This is why it is called selection sort

Implementation

Steps

  • Set the first element as min.
  • Find the smallest element in the array and assign its index to min
  • After each iteration, position the element at min to the front of the unsorted list.
    • Start each iteration from the first unsorted element.
  • Repeat the first three steps until list is sorted

Example :

https://res.cloudinary.com/dc0mjpwf8/image/upload/v1590247726/ArticleImages/Sorting%20Algorithms/Selection_sort_qbfvlm.png

Code

void SelectionSort(int A[], int size)
 {
  for (int i = 0; i < size - 1; i++)
   {
    int min = i;//stores index of element with minimum value
    for (int j = i + 1; j < i; j++) 
     {
        if (A[j] < A[min])
        min = j;
     }
     temp  = A[min];
     A[min]= A[j];
     A[j]  = temp;
   }
}

Time Complexity : O(N^2)

Since there are 2 loops each running for O(n) , the complexity is O(N)*O(N) = O(N^2).