希尔排序_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 希尔排序

希尔排序

 2012/10/15 10:37:53  雨雪霏霏  程序员俱乐部  我要评论(0)
  • 摘要:第一种实现:Java代码1.publicclassshellsort{2.publicstaticvoidmain(Stringargs[]){3.int[]a={15,24,25,68,12,10,45,18,27};4.inttemp;5.for(intk=a.length/2;k>0;k/=2){6.for(inti=k;i<a.length;i++){7.for(intj=i;j>=k;j-=k){8.if(a[j-k]>a[j]){9.temp=a[j-k]
  • 标签:
第一种实现:

Java代码 
1.public class shellsort {  
2.    public static void main(String args[]){  
3.        int[] a = {15,24,25,68,12,10,45,18,27};  
4.        int temp;  
5.        for(int k=a.length/2;k>0;k/=2){  
6.            for(int i=k;i<a.length;i++){  
7.                for(int j=i;j>=k;j-=k){  
8.                    if(a[j-k]>a[j]){  
9.                        temp=a[j-k];  
10.                        a[j-k]=a[j];  
11.                        a[j]=temp;  
12.                    }  
13.                }  
14.            }  
15.        }  
16.        for(int i=0;i<a.length;i++){  
17.            System.out.print(a[i]+" ");  
18.        }  
19.    }  
20.} 

第二种实现:

Java代码 
1.public class shellsort {  
2.    static void sort(int[]a,int dk){  
3.        int i,j,temp;  
4.        for(i=dk;i<a.length;i++){  
5.            if(a[i]<a[i-dk]){  
6.                temp=a[i];  
7.                a[i]=a[i-dk];  
8.                for(j=i;j>0&&temp<a[j-1];j=j-dk){  
9.                    a[j]=a[j-1];  
10.                }  
11.                a[j]=temp;  
12.            }  
13.        }  
14.    }  
15.    public static void main(String args[]){  
16.        int[]a={15,24,25,68,12,10,45,18,27};  
17.        int w=1;  
18.        while(w<=a.length/5){  
19.            sort(a,w);  
20.            w=w*5+1;  
21.        }  
22.        for(int i=0;i<a.length;i++){  
23.            System.out.print(a[i]+" ");  
24.        }  
25.    }  
26.} 
  • 相关文章
发表评论
用户名: 匿名