title: Radix sort Java using 2 dimensional array recursive
body: <p>I've been trying to implement Radix sort in Java over the last few days, but I can't get it right. I know there are solutions out there with arrayLists, but I need to do it with a 2-dimensional array and recursive for my "homework". My Problem is, that I can't put the elements in my 2d array, no matter what. Here's what I got so far:</p>
  
  <pre><code>public class ElfSort{
      public static int[] sort(int[] packages, int digit){
        //new 2d array with 10 "buckets"
        int[][] d=new int[10][];
        //temporary array 
        int[] tmp;
        if(digit&gt;=0){
           //going through array and try to put each element into a bucket using putIn()
           for(int i=0; i&lt;packages.length; i++){
               putIn(d[packages[i]/pot(digit)%10],packages[i]);
           }
           digit--;
           for(int i=0; i&lt;10; i++) sort(d[i],digit);
        }
        for(int i=0; i&lt;10; i++){
            tmp=d[i];
            for(int j=0; j&lt;tmp.length; j++) packages[j]=tmp[j];
        }
        return packages;
      }
      private static int pot(exp){
        if(exp==0) return 1;
        return 10*pot(exp-1);
      }
      private static int[] putIn(int[] place, int nr){
        int[] nplace=new int[place.length+1];
        for(int i=0; i&lt;place.length; i++) nplace[i]=place[i];
        nplace[nplace.length-1]=nr;
        return nplace;
      }    
  }
  </code></pre>