You are on page 1of 1

#include<st dio.

h>
i
ntget _max( inta[ ],
intn) {
intmax=a[ 0];
for( i
nti =1; i<n; i
++)
i
f( a[i]>max)
max=a[ i
];
returnmax ;
}
voidradi x_sor t( inta[ ]
,intn) {
intbucket [
10] [10] ,
bucket _cnt[10];
inti,j,k, r,NOP=0, di vi
sor=1, l
ar,pass;
lar=get _max( a,n);
whi le(lar>0) {
NOP++;
l
ar/ =10;
}
for( pass=0; pass<NOP; pass++) {
for( i=0; i <10; i++) {
bucket _ cnt[
i]=0;
}
for( i=0; i <n; i
++) {
r=( a[ i]/di vi
sor )%10;
bucket [r][
bucket _cnt[r
]]=a[i];
bucket _ cnt[
r]+=1;
}
i=0;
for( k=0; k<10; k++){
for( j=0; j<bucket _cnt[
k];j
++){
a[i]=bucket [
k][
j]
;
i
++;
}
}
divisor* =10;
pri
nt f( "Af terpass%d: ",pass+1) ;
for( i=0; i <n; i
++)
printf( "%d" ,a[ i
]);
pri
nt f( "\n" );
}
}
i
ntmai n() {
inti,n, a[10] ;
printf( "Entert henumberofi temst obesort
ed:
");
scanf( "%d" , &n) ;
printf( "Enteri tems: ");
for( i=0; i<n; i
++){
scanf( "%d" ,&a[i]
);
}
radix _
sor t(a, n) ;
printf( "Sor tedi t
ems: ");
for( i=0; i<n; i
++)
pri
nt f( "%d" ,a[i
]);
printf( "\n");
return0;
}

You might also like