假设我有一堆数字。我必须首先将最低有效数字放入相应的存储桶中。例如: 530 ,我必须先放入 0 号桶。对于 61 号,我必须放入 1 号桶。
我计划使用多维数组来做到这一点。所以我创建了一个二维数组,它的 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。在这个节点a中,有一个值50。为了找出我想把它放在哪个桶里,我计算了“左”,我得到了0。所以我想把这个a->值放到桶0里。但是现在我我被困住了。如何将此值放入存储桶中?我必须使用指针数组来做到这一点。
想了很久,还是没有找到好的办法。所以请和我分享一些想法。谢谢你!