1 //排序主函數
2 #include <stdio.h>
3 void main()
4 {
5 int ss[10]={ 5,0,6,3 ,1 ,8 ,4 ,9 ,7 ,2};
6 int i;
7 int length=10;
8 int step=5;
9 printf("初始值:");
10 for(i=0;i<length;i++)
11 printf("%d ",ss[i]);
12 printf("\n");
13 Sort(ss,length,step);
14 //D_sort(ss,10);
15 printf("最後結果:");
16 for(i=0;i<length;i++)
17 printf("%d ",ss[i]);
18 printf("\n");
19 }
2 #include <stdio.h>
3 void main()
4 {
5 int ss[10]={ 5,0,6,3 ,1 ,8 ,4 ,9 ,7 ,2};
6 int i;
7 int length=10;
8 int step=5;
9 printf("初始值:");
10 for(i=0;i<length;i++)
11 printf("%d ",ss[i]);
12 printf("\n");
13 Sort(ss,length,step);
14 //D_sort(ss,10);
15 printf("最後結果:");
16 for(i=0;i<length;i++)
17 printf("%d ",ss[i]);
18 printf("\n");
19 }
1 //Shell's sort排序 step是最大增量
2 #include <stdio.h>
3 void Sort(int Str[],int length ,int step)
4 {
5 int i=0,j=0,k=0;
6 int p=0,jj;
7 int temp;<