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 }