0

各要素を arrayqueue に追加するにはどうすればよいですか? 基本的に、各インデックスが1、10、100などを保持するarrayqueueであるキューの配列がある場合、配列aの別のインデックスに対応する6桁の数字の場所。たとえば、a[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();   
  } 
4

1 に答える 1

2

このチュートリアルが役立つかもしれません: http://www.sourcecodesworld.com/articles/java/java-data-structures/Radix_sort.asp

通り抜けが良さそうです。

于 2012-11-19T04:58:12.787 に答える