思路:
将你要排序的数组的值作为桶数组的索引,桶数组索引所对的值等于排序数组中出现的次数。
然后通过桶数组将值输出查看
(桶排序的数组中无法出现小于0的数)
package DataStruct.Sort; import java.util.Arrays; public class BarrelSort { public static void main(String[] args) {
int [] arr=new int[]{1,7,1,4,5,1,1,4}; int barrel[]=barrelSort(arr); for (int i=0;i<barrel.length;i++) { for (int j=0;j<barrel[i];j++) { if (barrel[i]!=0) System.out.println(i); } } } public static int [] barrelSort(int []arr) { //设置一个足够大的桶数组 int barrel[]=new int[20000]; //将你要排序的数组的值作为桶数组的索引,索引所对数组值进行++操作 for (int i=0;i<arr.length;i++) { barrel[arr[i]]++; } return barrel; } }