1 #include<stdio.h>
2 #include<stdlib.h>
3
4 void ShellSort(int *pArray,int nCount)
5 {
6 int gap = nCount/2;
7 while(gap >= 1)
8 {
9 for(int i = gap; i<nCount;i++)
10 {
11 int j = 0;
12 int tmp = pArray[i];
13 for(j = i-gap; j>=0&&tmp<pArray[j]; j-=gap)
14 {
15 pArray[j+gap] = pArray[j];
16 }
17 pArray[j+gap] = tmp;
18 }
19 gap /= 2;
20 }
21 }
22
23 int main()
24 {
25 int nCount,pArray[20];
26 while(~scanf("%d",&nCount)&&nCount)
27 {
28 for(int i = 0;i<nCount&&i<20;i++)
29 {
30 scanf("%d",&pArray[i]);
31 }
32 ShellSort(pArray,nCount);
33 for(int i = 0;i<nCount&&i<20;i++)
34 {
35 printf("%d ",pArray[i]);
36 }
37 printf("\n");
38 }
39 return 0;
40 }
1 #include<stdio.h>
2 #include<stdlib.h>
3
4 void ShellSort(int *pArray,int nCount)
5 {
6 int gap = nCount/2;
7 while(gap >= 1)
8 {
9 for(int i = gap; i<nCount;i++)
10 {
11 int j = 0;
12 int tmp = pArray[i];
13 for(j = i-gap; j>=0&&tmp<pArray[j]; j-=gap)
14 {
15 pArray[j+gap] = pArray[j];
16 }
17 pArray[j+gap] = tmp;
18 }
19 gap /= 2;
20 }
21 }
22
23 int main()
24 {
25 int nCount,pArray[20];
26 while(~scanf("%d",&nCount)&&nCount)
27 {
28 for(int i = 0;i<nCount&&i<20;i++)
29 {
30 scanf("%d",&pArray[i]);
31 }
32 ShellSort(pArray,nCount);
33 for(int i = 0;i<nCount&&i<20;i++)
34 {
35 printf("%d ",pArray[i]);
36 }
37 printf("\n");
38 }
39 return 0;
40 }