#include<iostream>
using namespace std;
bool insertSort(int array[], size_t arrLen)
{
int i,j=1;
bool f=false;
if(arrLen<0)
{
cout<<"Please check your input!"<<endl;
return false;
}
for(int orderedNum=1; orderedNum<arrLen; ++orderedNum)
{
int insertValue=array[orderedNum];
int orderedIndex=orderedNum-1;
for(;orderedIndex>=0;--orderedIndex)
{
if(insertValue<array[orderedIndex])
{
array[orderedIndex+1]=array[orderedIndex];
f=true;
}
else
{
break;
}
}
array[orderedIndex+1]=insertValue;
if(f)
{
cout<<"第"<<j<< "轮排序结果为:"<<endl;
for(i=0;i<arrLen;i++)
{
cout<<" "<<array[i];
}
j++;
cout<<endl;
f=false;
}
}
return true;
}
int main()
{
int i;
int a[]={11, 9, 20, 7, 56, 9, 42, 3, 7, 15, 16};
int arrlen=sizeof(a)/sizeof(int);
insertSort(a,arrlen);
cout<<"最终的排序结果为:"<<endl;
for(i=0;i<arrlen;i++)
{
cout<<" "<<a[i];
}
return 0;
}