码迷,mamicode.com
首页 > 编程语言 > 详细

希尔排序

时间:2016-02-25 21:13:03      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

希尔排序

不知道怎么证明希尔排序的正确性

#include<stdio.h>
void view(int Av[]);
void shellsort(int v[], int n){
    int gap, i, j, temp;
    for(gap=n/2;gap>0;gap/=2){
        for(i=gap;i<n;i++){
            for(j=i-gap;j>=0 && v[j]>v[j+gap];j-=gap){
                temp=v[j];
                v[j]=v[j+gap];
                v[j+gap]=temp;
            }
        }
    }
}
int main(){
    int v[]={1,5,4,3,2,6,7,8};
    shellsort(v,8);
    view(v);
    getchar();
    getchar();
    return 0;
}
void view(int v[]){//显示A数组当前状态 
    for(int i=0;i<8;i++){ 
        putchar(v[i]+0); 
        putchar( ); 
    } 
    putchar(\n); 
}

运行结果

技术分享

希尔排序

标签:

原文地址:http://www.cnblogs.com/learning-c/p/5218227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!