#include<stdio.h>
void radixsort(int a[],int n);
void display(int a[],int n);
int main()
{
int a[10],i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("UNSORTED LIST\n");
display(a,n);
printf("\nRADIX SORT\nSORTED LIST\n");
radixsort(a,n);
display(a,n);
return 0;
}
void display(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
}
void radixsort(int a[],int n)
{
int b[10][10],count[10];
int i,j,k,key=0,rem,pass,divisor=1,big=a[0];
for(i=0;i<n;i++)
{
if(a[i]>big)
{
big=a[i];
}
}
while (big>0)
{
key++;
big=big/10;
}
for(pass=1;pass<=key;pass++)
{
for(i=0;i<10;i++)
{
count[i]=0;
}
for(i=0;i<n;i++)
{
rem=(a[i]/divisor)%10;
b[rem][count[rem]]=a[i];
count[rem]+=1;
}
i=0;
for(k=0;k<10;k++)
{
for(j=0;j<count[k];j++)
{
a[i]=b[k][j];
i++;
}
}
divisor*=10;
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: