基数排序
- 基数排序(radix sort),又称为“桶子排序法(bucket sort)”。
基本思想:
将所有待比较的元素数值(正整数)统一为同样的数位长度,数位较短的元素在前面补零占位。然后,从最低位开始,依次进行每一趟排序,直到最高位排序完成,则整个数列就成为一个有序的序列。
算法分析
现在,我们来对具体的排序过程进行详细分析:
假设待排序数组为一个整型数组:
int[] a = {
542, 3521, 13459, 852, 742, 46, 2, 1, 633, 32}
首先,我们需要找到数组中的最大数,在a数组中最大数即为13459,一个五位正整数。也就是说,整个排序需要进行5趟。然后,我们需要对除最大数外的其他数进行用零补位,得到的数组可看作
int[] a = {
00542, 03521, 13459, 00852, 00742, 00046, 00002, 00001, 0633, 0032}
接下来,我们需要用从最低位(个位)开始进行排序。在每一趟