void radix_sort(int* a, int len, int max)
{
//创建临时数组
int* b = new int[max + 1];
//初始化临时数组
for (int i = 0; i < max; i++) {
b[i] = -1;
}
//排序
for (int i = 0; i < len; i++)
b[a[i]] = a[i];
//把b数组中元素赋值回a数组
int j = 0;
for (int i = 0; i < max+1; i++) {
if (b[i] != -1) {
a[j] = b[i];
printf("i: %d, j: %d, a[j]: %d, b[i]: %d\n", i, j, a[j], b[i]);
j++;
}
}
//释放临时数组
delete[] b;
}
XXX排序
最新推荐文章于 2024-10-19 15:29:34 发布