简述jsp网站开发的环境配置过程,单页做网站教程,什么是网络营销竞争的利器之一,朝阳网站制作设计文章目录 桶排序算法 今天来看看桶排序算法#xff1a;
桶排序算法
#xff08;1#xff09;基本思想#xff1a;把数组 arr 划分为 n 个大小相同子区间#xff08;桶#xff09;#xff0c;每个子区间各自排序#xff0c;最后合并 。计数排序是桶排序的一种特殊情况… 文章目录 桶排序算法 今天来看看桶排序算法
桶排序算法
1基本思想把数组 arr 划分为 n 个大小相同子区间桶每个子区间各自排序最后合并 。计数排序是桶排序的一种特殊情况可以把计数排序当成每个桶里只有一个元素的情况。
2排序过程
找出待排序数组中的最大值 max、最小值 min我们使用 动态数组 ArrayList 作为桶桶里放的元素也用 ArrayList 存储。桶的数量为(maxmin)/arr.length1遍历数组 arr计算每个元素 arr[i] 放的桶每个桶各自排序
示例代码
/*** 桶排序** param data 待排序数组*/
public static void bucketSort(int data[]){int n data.length;int bask[][] new int[10][n];int index[] new int[10];int max Integer.MIN_VALUE;for (int i 0; i n; i) {max max (Integer.toString(data[i]).length()) ? max : (Integer.toString(data[i]).length());}String str;for (int i max - 1; i 0; i--) {for (int j 0; j n; j) {str ;if (Integer.toString(data[j]).length() max) {for (int k 0; k max - Integer.toString(data[j]).length(); k)str 0;}str Integer.toString(data[j]);bask[str.charAt(i) - 0][index[str.charAt(i) - 0]] data[j];}int pos 0;for (int j 0; j 10; j) {for (int k 0; k index[j]; k) {data[pos] bask[j][k];}}for (int x 0; x 10; x) index[x] 0;}
}