假设有如下数字: 91, 46, 85, 15, 92, 35, 31, 22 经过基数排序第一次扫描之后, 数字被分配到如下盒子中: Bin 0: Bin 1: 91, 31 Bin 2: 92, 22 Bin 3: Bin 4: Bin 5: 85, 15, 35 Bin 6: 46 Bin 7: Bin 8: Bin 9: 根据盒子的顺序, 对数字进行第一次排序的结果如下: 91, 31, 92, 22, 85, 15, 35, 46 然后根据十位上的数值再将上次排序的结果分配到不同的盒子中: Bin 0: Bin 1: 15 Bin 2: 22 Bin 3: 31, 35 Bin 4: 46 Bin 5: Bin 6: Bin 7: Bin 8: 85 Bin 9: 91, 92 最后, 将盒子中的数字取出, 组成一个新的列表, 该列表即为排好序的数字: 15, 22, 31, 35, 46, 85, 91, 92
如果存在个位数怎么办?存在十位数相同的情况怎么办?
排序对象第一次的排序结果是按照个位数从小到大排列的,一旦有个位数出现,就算有多个个位数,因为排序对象的处理是从前往后的,那么进入相应的盒子内也是按从小到大排列的;存在十位数相同的情况下,同样的原理,其实在第一次排序后,个位数相同而十位数不同的数已经按照从小到大的顺序排列了,其结果毋庸置疑。