基数排序是一种借助多关键字排序思想对单逻辑关键字进行排序的方法。
所谓的多关键字排序就是有多个优先级不同的关键字。比如说成绩的排序,如果两个人总分相同,则语文高的排在前面,语文成绩也相同则数学高的排在前面。。。如果对数字进行排序,那么个位、十位、百位就是不同优先级的关键字,如果要进行升序排序,那么个位、十位、百位优先级一次增加。
基数排序是通过多次的收分配和收集来实现的,关键字优先级低的先进行分配和收集。
基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
实现代码:
1 | /** |
运行结果:
1 | [ 60, 72, 42, 11183, 73, 185, 6, 57, 88, 1148 ]//个位排序 |