希尔排序

来源:互联网 发布:mac怎么修复磁盘权限 编辑:程序博客网 时间:2024/05/16 12:59

基本思想:将排序的一组数按某个增量d(n/2)分成若干组,每组中记录的下标相差d,对每组中全部元素进行直接 插入排序,然后再用一个较小的增量d/2对他进行分组,在每组中再进行直接插入排序。当增量减到1时,排序结束。

public class shellSort{private static void main(String args[]){int a={};double d1=a.length;int temp=0;while(true){d1=math.ceil(d1/2);int d=(int)d1;for(int x=0;x<d;x++){for(int i=x+d;i<a.length;i+=d){temp=a[i];for(int j=i-d;j>=0&&temp<a[j];j-=d){a[j+d]=a[j];}a[j+d]=temp;}}if(d==1)break;}for(int i=0;a<a.length;i++){System.out.println(a[i]);}}
0 0
原创粉丝点击