Selection Sort in C & C++ – Program & Algorithm

In this tutorial I will explain about algorithm for selection sort in C and C++ using program example. 

 

One of the simplest techniques is a selection sort. As the name suggests, selection sort is the selection of an element and keeping it in sorted order. In selection sort, the strategy is to find the smallest number in the array and exchange it with the value in first position of array. Now, find the second smallest element in the remainder of array and exchange it with a value in the second position, carry on till you have reached the end of array. Now all the elements have been sorted in ascending order.

 

 
 

Algorithm for Selection Sort in C & C++

Let ARR is an array having N elements
1. Read ARR
2. Repeat step 3 to 6 for I=0 to N-1
3. Set MIN=ARR[I] and Set LOC=I
4. Repeat step 5 for J=I+1 to N
5. If MIN>ARR[J], then
                (a) Set MIN=ARR[J]
                (b) Set LOC=J
                [End of if]
  [End of step 4 loop]
6. Interchange ARR[I] and ARR[LOC] using temporary variable
 [End of step 2 outer
loop]
7. Exit
 

Program for Selection Sort in C

 

Program for Selection Sort in C++

 

C/C++ Program and Algorithm for Selection Sort

 

Complexity for Selection Sort in C & C++

The time complexity for selection sort program in C and C++ for both worst case and average case is O (n2) because the number of comparisons for both cases is same.

6 thoughts on “Selection Sort in C & C++ – Program & Algorithm

      1. Justas Same

        Thanks. I have another question ( I really want to understand this program 😀 ) why is n-1 used instead of n in for(i=0;i<n-1;i++) ? I've tested it with just n used – works fine

        Reply
        1. anu

          program works but n-1 indicates the last index value of your written array.
          if ur program has array limit to 5(that is n=5) thn ur index is 0,1,2,3,4 (u got 5) so the program checks only to that limit ..

          Reply
        2. ARYAN RANA

          Actually that just puts another loop to the program even though there is no use of it.When u sort the others the last one is automatically sorted so no need to sort it. It just makes the program longer.

          Reply

Leave a Reply

Your email address will not be published. Required fields are marked *