Radix Sort Implementation In Java

Leave a Comment
Radix Sort Implementation In Java 
Sorting Techniques





import java.io.*;
class node1
      {
        int data;
        node1 next;
     node1(int n)
       {
     data=n;
    next=null;
       }
 
}
class list
   {
node1 last[]=new node1[10];
node1 bucket[]=new node1[10];
node1 current;
int i,digit,divisor,d,j,k;
list()
{}
void radix_sort(int x[],int n,int m)
{
for(digit=1;digit<=m;digit++)
 {
     for( i=0;i<10;i++)
  last[i]=bucket[i]=null;
 divisor=1;
for(k=1;k<=digit-1;k++)
divisor=divisor*10;
for(i=0;i<n;i++)
    {
   node1 temp=new node1(x[i]);
d=(x[i]/divisor)%10;
if(bucket[d]==null)
bucket[d]=last[d]=temp;
else
  {
last[d].next=temp;
last[d]=temp;
}
}
j=0;
for(i=0;i<10;i++)
    {
    current=bucket[i];
      while(current!=null)
    {
        x[j]=current.data;
    j++;
 current=current.next;
    }
     }
}
}
 
}
class radix1
{
 public static int c=0;
 public static void main(String args[]) throws IOException
  {
  int a[],n,m;
   BufferedReader b=new BufferedReader(new InputStreamReader(System.in)); 
   list l=new list();
System.out.println("Enter size of array = ");
   n = Integer.parseInt(b.readLine());
System.out.println("Enter no of digits = ");
m = Integer.parseInt(b.readLine()); 
  a = new int[n];
   System.out.println("Enter values = ");
   for(int i=0;i<n;i++)
     a[i] = Integer.parseInt(b.readLine());
   l.radix_sort(a,n,m);
   System.out.println(" Sorted Array is : ");
   for(int i=0;i<n;i++)
   {
    System.out.println(a[i]+" ");
   }
  }
}
 
/*   OUTPUT
 
Enter size of array =
10
Enter no of digits =
3
Enter values =
321
123
345
456
567
876
897
213
113
296
 Sorted Array is :
113
123
213
296
321
345
456
567
876
897
*/
 

0 Comments:

Post a Comment

Your words are your own, so be nice and helpful if you can. Please, only use your REAL NAME, not your business name or keywords. Using business name or keywords instead of your real name will lead to the comment being deleted. Anonymous commenting is not allowed either. Limit the amount of links submitted in your comment. We accept clean XHTML in comments, but don't overdo it please.