zoukankan      html  css  js  c++  java
  • C语言学习12

    希尔排序

     1 //希尔排序
     2 #include <stdio.h>
     3 
     4 void main()
     5 {
     6     int a[11], i;
     7     int shell(int a[], int n);
     8     printf("请输入十个数据:");
     9     for(i = 1; i<11; i++)
    10     {
    11         scanf("%d", &a[i]);
    12     }
    13     printf("初始序列:
    ");
    14     for(i = 1; i<11; i++)
    15     {
    16         printf("    %d", a[i]);
    17     }
    18     shell(a, 10);
    19     printf("
    希尔排序后的顺序:
    ");
    20     for(i = 1; i<11; i++)
    21     {
    22         printf("    %d", a[i]);
    23     }
    24     printf("
    ");
    25 }
    26 
    27 int shell(int a[], int n)
    28 {
    29     int j, k, d;
    30     for(d=n/2; d>=1; d=d/2)
    31     {
    32         for(j=d+1; j<=n; j++)
    33         {
    34             a[0] = a[j];
    35             for(k=j-d; (k>=0) && a[k]>a[0]; k=k-d)
    36             {
    37                 a[k+d] = a[k];
    38             }
    39             a[k+d] = a[0];
    40         }
    41     }
    42 }
  • 相关阅读:
    C语言扩展题
    C语言第五题
    C语言第四题
    C语言第三题
    c语言第二题
    11
    游戏开发的一些想法
    openxml的视频教程
    JavaScript调试之console.log
    IPPatternConverter
  • 原文地址:https://www.cnblogs.com/wangkeqi/p/9407499.html
Copyright © 2011-2022 走看看