c语言希尔排序,并输出结果(不含插入排序)

 1 #include<stdio.h>
 2  
 3 void shellsort(int* data,int len)
 4 {
 5     int d=len;
 6     int i;
 7     while(d>1)
 8     {
 9         d=(d+1)/2;            //增量序列表达方式
10         for(i=0;i<len-d;i++)      
11         {
12             if(data[i+d]<data[i])
13             {
14                 int temp=data[i+d];
15                 data[i+d]=data[i];
16                 data[i]=temp;
17             }
18         }
19     }
20 }
21  
22 int main()
23 {
24     int list[10];
25     int i,j;
26     printf("请输入十个数字:\n");
27     
28     for(i=0;i<10;i++)
29         scanf("%d",&list[i]);
30     shellsort(list,10);
31     
32     printf("希尔排序结果:\n");  
33     for(j=0;j<10;j++)
34     {
35         printf("%4d",list[j]);
36     }
37     printf("\n");
38     
39     return 0;
40 }

猜你喜欢

转载自www.cnblogs.com/kkuuklay/p/10466689.html