import java.io.*; import java.util.*; public class Sort{ private ArrayList<Integer>[] buckets=new ArrayList[10]; private int[] a; public Sort(int n){ Random r=new Random(); a=new int[n]; for (int i=0;i<10;i++){ buckets[i]=new ArrayList<Integer>(); } for (int i=0;i<n;i++){ a[i]=r.nextInt(8999)+1000; } } public String toString(){ return Arrays.toString(a); } public String printBuckets() { return Arrays.toString(buckets); } public void Radex(){ int[] temp=new int[a.length]; int value; int n=0; while (n<4){ for (int i=0;i<a.length;i++){ value=(int)((a[i]/(Math.pow(10,n))) % 10); buckets[value].add(a[i]); } //System.out.println(printBuckets()); int k=0; while (k<temp.length){ for (int i=0;i<buckets.length;i++){ if (buckets[i].size()!=0){ for (int j=0;j<buckets[i].size();j++){ temp[k]=buckets[i].get(j); k=k+1; } } } } a=temp; for (int i=0;i<buckets.length;i++){ buckets[i]=new ArrayList<Integer>(); } n=n+1; } //System.out.println(this); } } //worked on in class with Aida Piccato