算法-希尔排序
来源:互联网 发布:怎么看手机网络制式 编辑:程序博客网 时间:2024/06/12 20:50
Shell排序算法
Shell排序算法严格来说是基于插入排序的思想,其又称为希尔排序或者缩小增量排序。
排序流程
1将有n个元素的数组分成n/2个数字序列,第1个数据和第n/2+1个数据为一对,·····。
2一次循环使每一个序列对排好顺序。
3然后,再变为n/4个序列,再次排序。
4不断重复上述过程,随着序列减少最后变为一个,也就完成了整个排序。注:有余数执行取整操作 当只有一个序列时,逐个对数据比较,按照插入排序算法对该序列进行排序。
代码
public class ShellSort { public void sort(int[] data){ int current; int temp; for(int i=data.length/2;i>=1;i/=2){ for(int j=i;j<data.length;j++){ current=j-i; temp=data[j]; while(current>=0&&data[current]>temp){ data[current+i]=data[current]; current-=i; } data[current+i]=temp; } } }}
0 0
- 排序算法--希尔排序
- 排序算法-希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法---希尔排序
- 排序算法---希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法:希尔排序
- 排序算法:希尔排序
- 【排序算法】希尔排序
- 排序算法---希尔排序
- 排序算法:希尔排序
- 排序算法-希尔排序
- 排序算法---希尔排序
- 排序算法-- 希尔排序
- 排序算法-希尔排序
- 排序算法:希尔排序
- servlet获取表单数据
- MySQL最大连接数设置
- HDU 5943 Kingdom of Obsession(2016年中国大学生程序设计竞赛(杭州)),好题
- 程序员:伤不起的三十岁
- oracle安装教程
- 算法-希尔排序
- Codeacademy Python-06-Student Becomes the Teacher
- java.lang.UnsupportedOperationException: Not implemented by the S3FileSystem FileSystem
- 从零单排——面向对象角度认识JS世界Part2
- LeetCode No.398 Random Pick Index
- 如何调用DLL中的函数
- 【NOIP模拟赛】Pickad 锄奸
- 最像JAVA的构造函数
- Coursera Machine Learning 第二周 quiz Programming Exercise 1: Linear Regression