急求:用C语言编写以下有关排序的程序!
桶式排序从需要进行排序的正整数的一维数组开始,而且有一个整数的二维数组,其中行下标从0——9,而列下标从0——n,n为要进行排序的数组中值的数目。二维数组的每行称为一个桶。编写一个函数bucketsor,他用整数数组和数组大小作为参数。
算法如下:
1) 在一维数组内循环,并根据他的各位将每个值安排在桶数组的某行。如,97安排在行7,3安排在行3,100安排在行0
2) 在桶数组内循环,并将值复制回到最初的数组。上面的数值在一维数组中的新顺序是100,3.,97
3) 对每个后面的数位(十位,百位,千位等等)重复这个过程。
在对数组进行第2轮处理时,,100安排在行0,3安排在行0(他只有一位),而97安排在行9.,一维数组中的值的顺序是100,3,97.第三轮。100安排在行1,3安排在行0,而97安排在行0(在3的后面)。桶式排序可以确保在处理了最大数字的最高位之后正确排列所有值的顺序。当所有都复制到二维数组的行0时,桶式排序就结束了。注意桶的二维数组的大小是要排序数组大小的10倍。