前面已排好,从下标1开始比较。
#include <iostream>
using namespace std;
void InsertSort(int a[],int n)
{
int key,i = 1;
while(i < n)
{
key = a[i];
int j = i-1;
for(;j>=0;j--)
{
if(a[j] > key)
{
a[j+1] = a[j];
}
else break;
}
a[j+1] = key;
i++;
}
}
int main()
{
int a[10]={3,2,1,6,9,8,7,0,5,4};
printf("排序前的数组为:\n");
for(int i=0;i<10;i++)
{
printf("%d ",a[i]);
}
InsertSort(a,10);
printf("\n排序后的数组为:\n");
for(int i=0;i<10;i++)
{
printf("%d ",a[i]);
}
system("pause");
return 0;
}