铜川网站开发,如何用html制作百度首页,珠海一元夺宝网站建设,python简单代码桶排序的基本思想是#xff1a; 把数组 arr 划分为 n 个大小相同子区间#xff08;桶#xff09;#xff0c;每个子区间各自排序#xff0c;最 后合并 。计数排序是桶排序的一种特殊情况#xff0c;可以把计数排序当成每个桶里只有一个元素的情况。 1.找出待排序数组中的…桶排序的基本思想是 把数组 arr 划分为 n 个大小相同子区间桶每个子区间各自排序最 后合并 。计数排序是桶排序的一种特殊情况可以把计数排序当成每个桶里只有一个元素的情况。 1.找出待排序数组中的最大值 max、最小值 min 2.使用 动态数组 ArrayList 作为桶桶里放的元素也用 ArrayList 存储。桶的数量为(maxmin)/arr.length1 3.遍历数组 arr计算每个元素 arr[i] 放的桶 4.每个桶各自排序 public class bucketSort {public static void main(String[] args) {int[] data new int[] {3, 5, 3, 6, 2, 1, 9, 4, 8, 7 ,5};bucketSort(data);}public static void bucketSort(int[] arr){int max Integer.MIN_VALUE;int min Integer.MAX_VALUE;for(int i 0; i arr.length; i){max Math.max(max, arr[i]);min Math.min(min, arr[i]);}//创建桶int bucketNum (max - min) / arr.length 1;ArrayListArrayListInteger bucketArr new ArrayList(bucketNum);for(int i 0; i bucketNum; i){bucketArr.add(new ArrayList());}//将每个元素放入桶for(int i 0; i arr.length; i){int num (arr[i] - min) / (arr.length);bucketArr.get(num).add(arr[i]);}//对每个桶进行排序for(int i 0; i bucketArr.size(); i){Collections.sort(bucketArr.get(i));}System.out.println(bucketArr.get(0));}