Java排序算法(五)--希尔排序(ShellSort)
2016-03-21 10:43
447 查看
希尔排序(插入排序-渐减增量排序diminishing increment sort):
思想:1.将原始数组按照增量分解为多个数组,分别按插入排序调好子序列的顺序;
2. 减小增量,重复第一步,直至增量为1。
思想:1.将原始数组按照增量分解为多个数组,分别按插入排序调好子序列的顺序;
2. 减小增量,重复第一步,直至增量为1。
public static int [] shellSort (int []d ){ int h =1; int next =0; int temp =0; for(h =1;3*h +1<d .length;){ h=3* h+1; } for(;h >0;h =(h -1)/3){ //漸減增量,獲得增量值 for(int j =0;j <h ;j ++){ //依次取得增量序列 for(next =h +j ;next <d .length;next +=h ){ //取得子序列 temp= d[ next]; int k =0; for(k =next ;k >=h &&temp<d[k-h];k-=h){ //在子系列內進行比較調整 d[ k]= d[ k- h]; } d[ k]= temp; } } } return d ; }
相关文章推荐
- login without password(secure shell,putty)
- awk 九九乘法表 shell实现代码
- bash脚本编程(二)
- shell 脚本记录学习
- linux shell 解读 “永久环境变量” “临时环境变量”和"普通变量"
- jmeter使用BeanShell Sampler测试自己写的java接口(二)
- shell
- jmeter使用BeanShell Sampler测试自己写的java接口(一)
- linux shell 使用
- shell获取Linux服务器I
- Shell 文件包含
- Shell 文件包含
- Shell 输入/输出重定向
- Shell 输入/输出重定向
- Shell 函数
- Shell 函数
- Shell 流程控制
- Shell 流程控制
- Shell test命令
- Shell test命令