桶排序
程序员文章站
2022-03-03 08:53:53
...
package basic_class_01;
import java.util.Arrays;
/**
* 桶排序
* @author lenovo
*
*/
public class Code_06_BucketSort {
public static void bucketSort(int[] arr) {
if(arr == null || arr.length < 2) {
return;
}
int max = Integer.MIN_VALUE; // -2147483648
for(int i = 0; i < arr.length; i++) {
max = Math.max(max, arr[i]);
}
int[] bucket = new int[max + 1];
for(int i = 0; i < arr.length; i++) {
bucket[arr[i]]++; // 如果这个序号的桶有数字就 加 1
}
System.out.println(Arrays.toString(bucket));
int i = 0;
for(int j = 0; j < bucket.length; j++) {
while(bucket[j] -- > 0) {
arr[i++] = j; // 将对应桶中的数字输出 j 其实就是桶的序号
}
}
}
public static void main(String[] args) {
// System.out.println(Integer.MIN_VALUE);
int[] arr = {3,4,2,5,1,7,8,9};
bucketSort(arr);
System.out.println(Arrays.toString(arr));
}
}
上一篇: 七大php主流框架,你用过几个?
下一篇: java简介以及补充知识