C++学习之路——直接插入排序

一个人独自学习,感觉有进步就满足,即便是数据结构没学好,算法也找不清思路,但把人家的代码看看理解好打出来,也挺满意的。

 

 1 #include <iostream>
 2 using namespace std;
 3 void print(int a[],int length)
 4 {    
 5     cout<<length <<":";
 6     for(int j=0;j<length;j++)
 7     {
 8         cout<<a[j]<<" ";
 9     }
10     cout<<endl;
11 }
12 
13 void insertSort(int arr[],int length)
14 {
15     
16     for(int i=1;i<length;i++)
17     {
18         if(arr[i]<arr[i-1])
19         {
20         int j=i-1;
21         int x=arr[i];
22         arr[i]=arr[i-1];
23         while(x <arr[j]){
24             arr[j+1]=arr[j];
25             j--;
26         
27         if (j <=0){break;}
28         }
29         arr[j+1]=x;
30         }
31         print(arr,length);
32     }/*for*/
33 }
34 
35 
36 int main(){
37     int a[]={2,3,51,78,315,9,7,21,18};
38     insertSort(a,9);
39     print(a,9);
40     return 0;
41 
42 }

posted @ 2017-10-05 12:47  JTeacher  阅读(273)  评论(0)    收藏  举报