对于给定的一个十进制整数序列(369,367,167,239,237,138,230,139),采用基数排序算法进行递减排序,给出各趟的排序结果。实验要求:
时间: 2023-09-08 10:15:00 浏览: 44
好的,我来为你演示基数排序算法对于给定的十进制整数序列进行递减排序的过程。排序过程如下:
1. 获取数组中的最大值,即369,计算出最大值的位数为3。
2. 按照个位数的大小将数字放入桶中,得到如下桶的分布:
```
bucket[9]: 369
bucket[7]: 367
bucket[7]: 167
bucket[9]: 239
bucket[7]: 237
bucket[8]: 138, 230
bucket[9]: 139
```
将桶中的数据按顺序放回原数组中,得到排序结果为:[230, 139, 369, 367, 167, 237, 138, 239]。
3. 按照十位数的大小将数字放入桶中,得到如下桶的分布:
```
bucket[3]: 139, 138
bucket[6]: 367
bucket[3]: 167
bucket[3]: 237
bucket[3]: 239
bucket[6]: 369
bucket[3]: 230
```
将桶中的数据按顺序放回原数组中,得到排序结果为:[139, 138, 230, 367, 237, 239, 369, 167]。
4. 按照百位数的大小将数字放入桶中,得到如下桶的分布:
```
bucket[1]: 139, 138, 167
bucket[2]: 230, 237
bucket[3]: 239
bucket[6]: 367
bucket[6]: 369
```
将桶中的数据按顺序放回原数组中,得到排序结果为:[139, 138, 167, 230, 237, 239, 367, 369]。
经过三趟排序,最终得到递减排序的结果为[139, 138, 167, 230, 237, 239, 367, 369]。