插入排序

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 void insert_sort(int data[], int);
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     int i;
 9     int data[6] = {5,3,7,10,9,6};
10 
11     insert_sort(data, 6);
12 
13     for ( i = 0; i < 6; ++i)
14     {
15         printf("%d ", data[i]);
16     }
17 
18     printf("\n");
19     return 0;
20 }
21 
22 void insert_sort(int data[], int num)
23 {
24     int i, j;
25     
26     for (i = 1; i < num; ++i)
27     {
28         int r = data[i];
29         j = i;
30 
31         while(j > 0 && data[j - 1] > r)
32         {
33             data[j] = data[j - 1];
34             j--;
35         }
36 /*
37         for (j = i; j >= 0; --j)
38         {
39             if (data[j - 1] > r)
40             {
41                 data[j] = data[j - 1];
42             }
43             else
44                 break;
45         }
46  */
47         data[j] = r;
48     }
49 }

 

posted @ 2014-09-28 11:24  yyxayz  阅读(139)  评论(0编辑  收藏  举报