关闭

排序算法--shel来排序

92人阅读 评论(0) 收藏 举报
分类:

具体流程:1,将有n个元素的数组分成n/2个数字排列 ,第一个数据和n/2+1个数据是一对的

                     2,一次循环使每一个序列排好顺序

                   3,然后再变成n/4个序列,再次排序

                   4,不断重复上诉过程,随着序列减少变成最后一个

伪代码如下:


public static void shellSort(int a[]){
int i,j,h;
int r,temp;
int x = 0;

for(r=a.length/2;r>=1;r/=2){
for(i=r;i<a.length;i++){
temp=a[i];
j=i-r;
while(j>=0&&temp<a[j]){
a[j+r]=a[j];
j=j-r;
}
a[j+r]=temp;
}
x++;

System.out.println("d"+x+".....");
for(h=0;h<a.length;h++){
System.out.print(a[h]+",");
}
System.out.println();
}

}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15151次
    • 积分:396
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:3篇
    • 译文:1篇
    • 评论:2条
    文章分类
    最新评论