假设我有一堆数字。我必须先将最不重要的数字放入相应的桶中。例如: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