by Dinesh Thakur Category: Array Pointer and Union

In this method, the smallest item in a given series of n elements is found and is placed in the first position. Then the smallest item from the remaining (n-l) elements is found and is placed in the second position and so on. This method requires (n-l) passes for arranging n elements.

 

Example

 

The program illustrates sorting numbers in ascending order using Selection sort.

 

#include <iostream.h>

const int m=4;

void main( )

{

int data[m],i,j,k,min,minindex,n;

cout<<"Enter the number of values "<<endl;

cin>>n;

cout<<"Enter the values "<<endl;

for(i=0;i<n;i++)

cin>>data[i] ;

cout<<endl;

cout<<"The list to be sorted is "<<endl;

for(i=0;i<n;i++)

cout<<data[i]<<" ";

cout<<"\n" ;

cout<<"Selection sort "<<endl;

cout<<" ---------------" ;

for(i=0;i<n;i++)

{

minindex=i;

min=data[i] ;

for(j=i+1;j<n;j++)

{

if(min>data[j])

{

minindex=j;

min=data[j] ;

}

}

data [minindex] =data [i];

data[i]=min;

cout<<endl<<"pass "<<i+1;

for(k=0;k<n;k++ )

cout<<" "<<data[k];

cout<<endl;

}}

 

In the outer for loop, the variables min and minindex are initialized to i and data[i].In the first pass the minimum of all the elements, min is found. Index corresponding to minimum value is stored in minindex. Values corresponding to minindex and i are swapped, where i denotes the pass.

 

Input and Output:

 

Enter the number of values

 

5

 

Enter the values

 

67        22        58        49        10

 

The list to be sorted is

 

67        22        58        49       10

 

Selection sort

 

pass 1 10         22        58        49        67

pass 2 10         22        58        49        67

pass 3 10         22        49        58        67

pass 4 10         22        49        58        67

pass 5 10         22        49        58        67



About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.



Related Articles