C++实现插入排序

--直接上图了--

 

 

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 //插入排序
 6 void insertSort(int arr[],int len){
 7     int current=0;
 8     int preIndex=0;
 9     for(int i=1;i<len;i++){
10         current=arr[i];//当前待插入的元素
11         preIndex=i-1;//当前元素的前一个元素下标
12         while(preIndex>=0&&arr[preIndex]>current){
13             arr[preIndex+1]=arr[preIndex];//前面元素大于待插入的元素,则把前面元素往后移
14             preIndex--;
15         }
16         arr[preIndex+1]=current;//直到前面元素小于等于待插入元素,则把待插入元素插到后面
17     }
18 }
19 
20 //测试
21 int main(void){
22     int girl[]={21,32,17,19,20,34,28,27,33};
23     int len=sizeof(girl)/sizeof(girl[0]);
24     insertSort(girl,len);
25     for(int i=0;i<len;i++){
26         cout<<girl[i]<<"\t";
27     }
28     cout<<endl;
29     system("pause");
30     return 0;
31 }

 

posted @ 2020-03-05 11:51  youlj  阅读(324)  评论(0编辑  收藏  举报