如何将每个元素添加到队列中

时间:2012-11-19 03:49:58

标签: java algorithm sorting radix-sort

如何将每个元素添加到数组中?基本上,如果我有一个队列数组,其中每个索引都是一个数组,它将1s,10s,100s等保存在数组a的另一个索引中相应的6位数字的位置。例如,如果[1]为123456,那么如何使下面的代码保持arr [1] 654321?我之前发过一个与之类似的问题,但我只想努力做到这一点。

public static void radixSort(int[] a) {
  //Create an array of 10 empty array queues
  Queue[] arr =  new Queue[a.length];

  for (int i = 0; i < arr.length; i++)
      arr[i] = new ArrayQueue();

  for (int place = 1; place <= 100000; place *= 10) {
      for (int i = 0; i < a.length; i++) {
          arr[i].add(selectDigit(a[i],place));
         // System.out.println("i: " + i + " a[i]: " + a[i] + " place: " + place + " digit: "  + selectDigit(a[i],place));
      }
  }

 // for (int i = 0; i < arr.length; i++)
    //  System.out.print(arr[i].remove()+ " ");
          //for (int j = 0; j < arr.length; j++)
            //  a[j] = (Integer) arr[j].remove();   
  } 

1 个答案:

答案 0 :(得分:2)

本教程可能有所帮助: http://www.sourcecodesworld.com/articles/java/java-data-structures/Radix_sort.asp

这似乎很顺利。