Wednesday 19 January 2011

RADIX SORT

#include
#include
main()
{
int a, b, leng, data[100], d, m, temp[100], index;
char ripit;
repeat:

printf("Banyak data : ");
scanf("%d",&leng);

for (a=0;a {
printf("data %d = ",a+1);
scanf("%d",&d);
if (d<1000)
{
data[a]=d;
}
else a--;
}
printf("\nData Anda: ");

for (a=0;a {
printf("\nData %d= %d ",a+1,data[a]);
}

index=0;
for (a=0;a<=9;a++) //lsb sort
for (b=0;b {
if (data[b]<100)
{
m=data[b]%10;
}
else
{
m=data[b]%100;
m=m%10;
}
if (m==a)
{
temp[index]=data[b];
index++;
}
}

for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

index=0;
for (a=0;a<=9;a++) //csb sort
for (b=0;b {
if (data[b]<100)
{
m=data[b]/10;
}
else
{
m=data[b]%100;
m=m/10;
}
if (m==a)
{
temp[index]=data[b];
index++;
}
}
for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

index=0;
for (a=0;a<=9;a++) //msb sort

for (b=0;b {
m=data[b]/100;
if (m==a)
{
temp[index]=data[b];
index++;
}
}
for (a=0;a<=9;a++)
{
data[a]=temp[a];
}

printf("\n\nSetelah di Sorting\n");
for (a=0;a<(leng);a++)
{
printf("%d",data[a]); printf("\n");
}

printf("\nUlangi? [y/n] = "); scanf("%s",&ripit);
if (ripit=='y'||ripit=='Y')
{
goto repeat;
}
}

Popular Posts

COMMENT

Labels

Labels

Labels

Labels