插入排序

 1 /* 插入排序 */
 2 
 3 #include<stdio.h>
 4 #include<stdlib.h>
 5 
 6 void main()
 7 {
 8     int a[10]={1,2,3,4,6,7,8,9,10,5};
 9     int temp=a[9];// 元素 5 
10     int j=9;// 记录下标
11 
12     while (j>0 && a[j-1]>temp)// a[j-1]>temp 判定循环终止的条件 确定要插入的位置
13     {
14         a[j] = a[j-1];//往前移动
15         j--;
16     }
17     
18     a[j] = temp;
19 
20     for (int i=0;i<10;i++)
21     {
22         printf("%d ",a[i]);
23     }    
24     printf("\n");
25 
26 
27     system("pause");
28 }
29 
30 //-------------------------------------------------------------------
31 
32 void main()
33 {
34     int a[10]={1,5,2,4,8,7,9,10,6,3};
35 
36     for(int i=1;i<10;i++)// i=1开始  是因为只有一个不需要插入
37     {
38         int temp=a[i];// temp用来保存要插入的数  
39         int j=i;
40         while (j>0 && a[j-1]>temp)
41         {
42             a[j] = a[j-1];//往后移动
43             j--;
44         }
45         a[j]=temp;// 插入数的位置
46     }
47 
48     for (int i=0;i<10;i++)
49     {
50         printf("%d ",a[i]);
51     }    
52     printf("\n");
53     
54     system("pause");
55 }

 

posted on 2015-06-24 10:20  Dragon-wuxl  阅读(192)  评论(0)    收藏  举报

导航