Saturday, August 27, 2011

Program to sort an array using Radix sort in C++.


//Program to sort an array using  Radix sort in C++.
#include<iostream.h>
#include<conio.h>
void main()
{
 int a[50],i,n;
 void radixsort(int[],int);
 clrscr();
 cout<<endl<<" Enter the number of elements in array: ";
 cin>>n;
 cout<<endl<<"enter the elements of array: ";
 for(i=0;i<n;i++)
 {
  cin>>a[i];
 }
 radixsort(a,n);
 cout<<endl<<"The sorted array is as follow:"<<endl;
 for(i=0;i<n;i++)
 {
  cout<<a[i]<<" ";
 }
 getch();
}
void radixsort(int a[],int n)
{
 int bucket[10][20],bucketcount[10];
 int i,j,k,r,digitcount=0,divisor=1,largest,passno;
 largest=a[0];
 for(i=0;i<n;i++)
 {
  if(a[i]>largest)
  {
   largest=a[i];
  }
 }
 while(largest>0)
 {
  digitcount++;
  largest=largest/10;
 }
 for(passno=0;passno<digitcount;passno++)
 {
  for(k=0;k<10;k++)
  {
   bucketcount[k]=0;
  }
  for(i=0;i<n;i++)
   {
    r=(a[i]/divisor)%10;
    bucket[r][bucketcount[r]++]=a[i];
   }
   i=0;
   for(k=0;k<10;k++)
    {
     for(j=0;j<bucketcount[k];j++)
     {
       a[i]=bucket[k][j];
       i++;
     }
    }
  divisor=divisor*10;
 }
}

Previous Next Home
0 Comments
Comments

Leave a Comment

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Twitter Delicious Facebook Favorites More