Selection sort in c | Selection sort algorithm | Selection sort example

In this article selection sort in c we give the information about selection sort algorithm, selection sort program in c, selection sort example and selection sort in data structure.

Selection Sort in C:

Selection sort is the selection of smallest element from an array and keeping it in sorted order. i.e. select the smallest element and keep in the new list, after that second smallest element and so on.

Consider an array a[0]……..a[n-1] of elements. The whole process will be as follow.

Iteration 1:

  1. Search the smallest elements from a[0]……a[n-1]
  2. Interchange a[0] with smallest element and a[0] is sorted.

Iteration 2:

  1. Search the smallest element from a[1]…….a[n-1]
  2. Interchange a[1] with smallest element and a[0], a[1] are sorted.

—————

—————

—————

Iteration 3:

  1. Search the smallest element from a[n-2]……..a[n-1]
  2. Interchange a[n-2] with smallest element and a[0], a[1]……a[n-1] are sorted.

Selection Sort Algorithm:

Step1:      Start

2:      Read n element of an array p.

3:       Let i=0

4:       Let min=p[i]

5:       for j=0 to n-1 repeat following step

if ( min >p[j])

set min = p[j] and location = j+1

end loop

6:        Interchange p[i] with the min

7:       i=i+1

8:       if i<n then go to step 4

9:      print sorted array p

10:      stop.

Selection sort Example:

Consider the following numbers

50         12       4         80         42

After every iteration the position of elements will be as follows

Iteration 1:

50 12 4 80 42

Interchange 50 and 4

4 12 50 80 42

Iteration 2:

No Interchange 12 and 50

4 12 50 80 42

Iteration 3:

Interchange 50 and 42

4 12 42 80 50

Iteration 4:

Interchange 80 and 42

4 12 42 50 80

Now the elements are in sorted order is as follow

4        12       42        50      80

Selection sort program in c:

int main()
{
int i, j, temp;
int number[5]={50, 12, 4, 80, 42};
printf(“\n Unsorted List:”);
for(i=0;i<5;i++)
printf(“\t%d”,number[i]);
// Logic of selection sort algorithm
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(number[i]>number[j])
{
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
}
printf(“\n Sorted elements: “);
for(i=0;i<5;i++)
printf(“\t%d”,number[i]);

return 0;

}

Output:

Unsorted List:  50     12    4    80     42

Sorted List: 4     12     42     50    80

Related Link:

Some More: DBMS/ WT/ DMDW

Santosh Nalawade

Work as Assistant Professor and Web Developer.

Leave a Reply

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