質問
歓迎いたします。私は基数分別方法を使用する配列通して別の配列(bin)と店舗空のキューに挿入しますっと混乱しないように気をつかうキューの箱に入っています。もfindPlace方法を見出せる場所のそれぞれの桁の時と呼ばれます。ですから、私た。で誰か助けてくれそうとい欠?おそらく得ることができた。
public static void radix(int [] list){
int [] bin = new int[10];
ArrayQueue<Integer> part = new ArrayQueue<Integer>(); // EDIT What would I do with this queue??
int num = 0;
for(int i=0;i<list.length;i++)
{
bin[i] = 0;
}
for(int pass=0;pass<list.length;pass++)
{
for(int num=0;num<list.length;num++)
{
int digit=findPlace(bin[pass], num);
}
bin[digit].add(list[num]); // add to the bin
}
// Put back into list
for(int h=0; h<10; h++)
{
while(!bin[h].isEmpty())
{
list[num] = bin[queueNum].remove();
num++;
}
}
}
public static int getPlace (int x, int place)
{return x/place % 10;}
その方法を探インターネット回線のスピードで、僕知る必要がある場合どのように入れ、"配列"というるのか?ます。add(getPlace(x,所));?
解決
ご配列 bin
な行為のようにキューできたのではないでし:)配列でないという方法 add()
や remove()
.いつの選択肢どうすればいい:
プログラムの適切な取り扱いのためのキューに自分自身キューの配列で、つのポインタが配列では、伝統的と呼ばれ
head
やtail
.いく独自の方法の追加と削除をするの配列をポインタを必要とする障がい者のための空のキューまたはあふれている。Javaのキューがあります。では、文書化された図書館のJavadocs.知らない場合は派遣-契約での就航のために構築できます自分のキューにしました。
更新 別の詳細:
またコストを抽出する方法を一桁から。ですから、少なくとも重要な桁(LSD)としてのWikipedia。い:
- 抽出の最後の桁で、
digit = number % 10
(これはモジュロ演算).までの整数は0 9イルが含まれます。 - グレーのクラムシェル型クランプの最終桁単に分割による10.その後できるだけも完了します。
- てる必要がありますのn番目の最後の桁の番号を複数回、よろしくどこの機能を個別の方法です。
ご利用できますが0~9の選択のキューに入れてください。
がん終了待ち行列すべての番号に10バケツをコピーしておく必要がありしかありシングル一覧です。その繰り返してい桁の任意の番号がそのままだ処理されます。
所属していません StackOverflow