希尔排序:Java(最小增量排序)
来源:互联网 发布:mac拼音怎么打 编辑:程序博客网 时间:2024/06/05 12:28
基本思想:
基本思想:算法先将要排序的一组数按某个增量 d(n/2,n为要排序数的个数)分成若
干组,每组中记录的下标相差 d.对每组中全部元素进行直接插入排序,然后再用一个较小
的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到 1 时,进行直接
插入排序后,排序完成。
图解
Java实现
public class Shell {public void sort(int lists[]) {int temp = 0;double d = lists.length; // 得到长度while (true) {d = Math.ceil(d/2);// 得到向上取整的数int md =(int) d;for (int x = 0; x < md; x++) { //对被增量分割的每小组进行直接插入排序for (int i = x+md; i < lists.length; i += md) { int j = i - md;temp = lists[i];for (; j >= 0 && temp < lists[j]; j -= md) {lists[j + md] = lists[j];}lists[j + md] = temp;}}if (md == 1) {break;}}}}
0 0
- 希尔排序:Java(最小增量排序)
- 回首Java——希尔排序(最小增量排序)
- 数据结构----希尔排序(最小增量排序)
- Java排序--》希尔排序(增量排序)
- 排序算法(二):希尔排序(最小增量排序)
- 八大排序--- 希尔排序(最小增量排序)
- Java 希尔排序(缩小增量排序)
- Java八大排序算法之"希尔排序(最小增量排序)"算法
- 一点一点的积累算法JAVA版之希尔排序(最小增量排序)
- 排序 - 希尔排序(缩小增量排序)
- 希尔排序(增量排序)
- 希尔排序(缩小增量排序)
- 希尔排序(缩小增量排序)
- 希尔排序(使用希尔增量)
- 希尔排序(缩小增量排序)
- 希尔排序 缩小增量排序
- 排序算法(八)希尔排序(缩小增量排序)
- 排序五之希尔排序(缩小增量排序)
- 冒泡排序:JAVA
- LeetCode 题解(284) : Smallest Rectangle Enclosing Black Pixels
- 直接插入排序 :Java实现
- List<String>Sort
- iOS开发之GCD使用总结
- 希尔排序:Java(最小增量排序)
- Spark学习体会
- java快速排序实现
- Android 实战 - 个人App乐逗项目(查看网页链接封装,播放视频封装)
- Binary Tree Upside Down
- LeetCode Regular Expression Matching
- 常用排序算法稳定性、时间复杂度分析
- 乐视推相亲节目,“十周嫁出去”为何深得网友支持?
- 显示Intent和隐式Intent的区别