Sei sulla pagina 1di 1

radixsort.

java
import java.io.*;
class radixsort
{
static void display(int a[])
{
int i,n;
n=a.length;
System.out.println("sorted array is");
for(i=0;i<n;i++)
System.out.println(a[i]+" ");
}
public static void main(String args[])throws IOException
{
DataInputStream dis=new DataInputStream(System.in);
int i;
System.out.println("Enter how many nos. to be sorted?");
int n=Integer.parseInt(dis.readLine());
int a[]=new int[n];
for(i=0;i<n;i++)
{
System.out.println("Enter");
a[i]=Integer.parseInt(dis.readLine());
}
radixsort(a);
display(a);
}
static void radixsort(int a[])
{
int i;
int b[]=new int[a.length];
int exp=1;
int max=0;
for(i=0;i<a.length;i++)
if(a[i]>max)
max=a[i];
while(exp<=max)
{
int bucket[]=new int [10];
for(i=0;i<a.length;i++)
bucket [a[i]/exp%10]++;
for(i=1;i<10;i++)
bucket[i]+=bucket[i-1];
for(i=a.length-1;i>=0;i--)
b[--bucket[a[i]/exp%10]]=a[i];
for(i=0;i<a.length;i++)
a[i]=b[i];
exp=exp*10;
}
}
}

Page 1

Potrebbero piacerti anche