bucketSort 箱排序 也称桶排序
描述
属于分配排序,后面radix也是在此基础上得到的。
将数组分到有限数量的bucket 中。
简单的说,数的范围0-n,数组大小n+1
一个for循环遍历,array[a[i]]++
代码实现
package distributionSort;
public class bucketSort {
public static int[] bucketSort(int[] array) {
int max = array[0];
for (int i : array) {
max = i > max ? i : max;
}
int[] arr = new int[max + 1];
for (int i : array)
arr[i]++;
return arr;
}
public static void main(String[] args) {
int[] array = {2, 23, 3, 1, 3, 4, 5};
int[] arr = bucketSort(array);
int x = 0;
for (int i : arr
) {
while (i-- > 0)
System.out.println(x);
x++;
}
}
}