InsertSort(插入排序)

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 }

posted on 2011-03-17 19:45  MagicYun  阅读(217)  评论(0编辑  收藏  举报

导航