1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include<stdio.h> #define N 11 void shsort( int s[], int n ) { int i, j, d, t; d = n / 2; while( d >= 1) { for( i = d +1; i <= n; i++) { s[0] = s[i]; j = i - d; while((j > 0) && ( s[0] < s[j] ) ) { s[j + d] = s[j]; j = j-d; } s[ j + d ] = s[0]; } d = d / 2; }
} main() { int i, j, t, a[11]; printf("INPUT 10 NUM : \n"); for( i = 1; i < N; i++) scanf("%d",&a[i]); printf("The num is : \n"); for( i = 1; i < N; i++) printf("%5d",a[i]); printf("\n"); shsort( a, 10); printf("the sorted num : \n"); for( i =1; i < N; i++) printf("%5d",a[i]); printf("\n"); }
|