美文网首页
希尔排序(C语言)

希尔排序(C语言)

作者: 奋斗live | 来源:发表于2019-02-15 15:06 被阅读0次
#include<stdio.h>

void Sort(int arr[],int length){
    int i,j,temp,increment;
    for(increment = length/2;increment>0;increment=increment/2){
        for(i=increment;i<length;i++){
            temp = arr[i];
            for(j=i-increment;j>=0&&temp<arr[j];j=j-increment){
                arr[j+increment] = arr[j];
            }
            arr[j+increment] = temp;
        }
    }
}

int main(){
    printf("希尔排序:\n");
    int i,j;
    int arr[] = {5, 18, 151, 138, 160, 63, 174, 169, 79, 200};
    printf("排序前:\n");
    for(i=0;i<10;i++){
        printf("%d ",arr[i]);
    }
    Sort(arr,10);
    printf("排序后:\n");
    for(i=0;i<10;i++){
        printf("%d ",arr[i]);
    }
    printf("\n");
}

结果如下图


image.png

相关文章

网友评论

      本文标题:希尔排序(C语言)

      本文链接:https://www.haomeiwen.com/subject/sazpeqtx.html