Предположим, у меня есть набор чисел. Я должен сначала поместить наименее значащую цифру в соответствующее ведро. Пример: 530, я должен сначала поместить в ведро 0. Для номера 61 я должен положить в ковш 1.Radix Sort with 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. В этом узле a есть значение 50. Чтобы узнать, в каком ведре я хочу его вставить, я вычисляю «left», и я получил 0. Поэтому я хочу поместить это значение a-> в ведро 0. Но теперь я я застрял. Как поместить это значение в ведро? Для этого я должен использовать массив указателей.
Я долго думал, но все еще не мог найти хороший способ сделать это. Поэтому, пожалуйста, поделитесь со мной некоторыми идеями. Спасибо!
У вас есть требование использовать распределения и массивы C-стиля? –