数字の束があるとします。まず、最下位桁を対応するバケットに入れなければなりません。例:530、まずバケツ0に入れなければなりません。番号61ではバケツ1に入れなければなりません。基数C++を使用してソート
多次元配列を使用してこれを行うことを計画しました。
int nrows = 10;
int ncolumns = 999999;
int **array_for_bucket = (int **)malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
array_for_bucket[i] = (int *)malloc(ncolumns * sizeof(int));
left = (a->value)%10;
array_for_bucket[left][?? ] = a->value;
その後、私は1つのノードを作成しました。だから私は(私はリストがどのように大規模になりますかわからないので)999999であるNROWS 2-dimenional配列は、10(0〜9の場合)とncolumnsで作成します電話する。このノードaには値50があります。入れたいバケットを見つけるには "left"を計算し、0を返します。だから私はバケット0にこのa->値を入れたいと思います。しかし今、私は立ち往生している。この値をバケットに入れるにはどうすればよいですか?私はこれを行うためにポインタ配列を使用する必要があります。
私は長い間考えていましたが、まだそれを行うには良い方法を見つけることができませんでした。だから私といくつかのアイデアを共有してください。ありがとうございました!
Cスタイルの割り当てと配列を使用する必要がありますか? –