import java.util.*; public class Driver { public static ArrayList<Integer> radixsort(ArrayList<Integer> a, int place) { if(a.size()<=1){return a;} ArrayList<ArrayList<Integer>> buckets = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> r = new ArrayList<Integer>(); for (int i=0; i<10; i++) buckets.add(new ArrayList<Integer>()); for (int i=0; i<a.size(); i++) buckets.get(a.get(i)/(int)Math.pow(10,place-1)%10).add(a.get(i)); for (int i=0; i<buckets.size(); i++) r.addAll(radixsort(buckets.get(i),place-1)); return r; } public static ArrayList<Integer> bubblesort(ArrayList<Integer> a) { ArrayList<Integer> r = a; int n; for (int i=0; i<r.size(); i++) { for (int j=0; j<r.size()-1; j++) { if(r.get(j)>r.get(j+1)) { n = r.get(j); r.set(j,r.get(j+1)); r.set(j+1,n); } } } return r; } public static void main(String[] args) { ArrayList<Integer> a = new ArrayList<Integer>(); Random rng = new Random(); for(int i=0; i<10; i++) a.add(rng.nextInt(10000)); System.out.println(a); System.out.println(radixsort(a,4)); a = new ArrayList<Integer>(); a.add(3); a.add(4); a.add(1); a.add(8); a.add(9); a.add(9); a.add(0); a.add(6); a.add(7); System.out.println(bubblesort(a)); } }