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