假設我有一堆數字。我必須先將最不重要的數字放入相應的桶中。例如:530,我得先放入桶0。61號,我必須投入桶1.使用C++的基數排序
我計劃用一個多維數組來做到這一點。所以,我創建了一個2-dimenional陣列,這是NROWS 10(0〜9)和ncolumns是999999(因爲我不知道怎麼會大名單定):
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;
然後,我創建了一個節點打個電話。在這個節點a中,存在一個值50.爲了找出我想要放入哪個桶,我計算「左」,並得到0.所以我想把這個a->值放入桶0中。但是現在我我卡住了。我該如何把這個價值放入桶中?我必須使用指針數組來做到這一點。
我想了很長時間,但還是沒能找到一個很好的辦法做到這一點。所以請與我分享一些想法。謝謝!
您是否需要使用C風格的分配和數組? – 2012-03-04 23:29:31