gpt4 book ai didi

c - c中 float 的基数排序

转载 作者:太空狗 更新时间:2023-10-29 15:30:40 26 4
gpt4 key购买 nike

好的,所以我必须为无符号整数和 float 创建基数排序。我的 unsigned ints 版本可以正常工作,但我在让它为浮点值工作时遇到了一些麻烦。基本上它按 float 的整数值对我的数组的值进行排序,但它不根据十进制值对它进行排序。 (例如,如果 36.65234 在未排序数组中排在第一位,它将出现在 36.02311 之前)此代码段是我进行位操作和屏蔽的地方,我很确定这是我的问题所在。

/* For loop to create bin */
for(int i=0; i<n; i++){
temp_int = (((unsigned int)(list[i]))>>bitwise)&0xff;
bin[temp_int] = bin[temp_int]+1;
}

/*For loop to get map */
for (int i=0; i<256; i++) {
map[i+1] = bin[i]+count;
count = map[i+1];
}

/* For loop to copy "sorted" values into other array */
for (int i=0; i<n; i++) {
temp_int = (((unsigned int)(list[i]))>>bitwise)&0xff;
int buf_loc = map[temp_int];
temp_arr[buf_loc] = list[i];
map[temp_int] = map[temp_int]+1;
}

提前致谢!

最佳答案

基数排序是一种线性排序算法。它可以应用于 float 值。

看看这个:

关于c - c中 float 的基数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com