CH8_3.C
上传用户:lgb298
上传日期:2013-03-22
资源大小:1025k
文件大小:1k
源码类别:

软件工程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #define T 3
  3. typedef struct
  4. {  int key;
  5.   /* float info;*/
  6. }JD;
  7. void shellsort(JD r[],int n,int d[])
  8. {  int i,j,k;
  9.    JD x;
  10.    k=0;
  11.    while(k<T)
  12.    {  for(i=d[k]+1;i<=n;i++)
  13.       {  x=r[i];
  14.  j=i-d[k];
  15.  while((j>0)&&(x.key<r[j].key))
  16.  {  r[j+d[k]]=r[j];
  17.     j=j-d[k];
  18.  }
  19.  r[j+d[k]]=x;
  20.        }
  21.        k++;
  22.     }
  23. }
  24. void main()
  25. {
  26.     static JD r[]={0,49,38,65,97,76,13,27,48,55,4};
  27.     static int d[]={5,3,1};
  28.     int i,n=10;
  29.     shellsort(r,n,d);
  30.     for(i=1;i<=n;i++)
  31.       printf("%d  ",r[i].key);
  32.     printf("n");
  33. }