直接插入排序算法的思想,
将第一个元素作为已排序序列,将剩下的n-1个元素逐步插入,插入时,逐个和已排序序列进行对比,如果发现有比待插入元素大的,就将其后移,最后将待插入元素放到最后的空位置上。
void insertsort(int a[],int n)
{
int j;
for(int i=1;i<n;i++)
{
int temp=a[i];//准备插入第i个元素
j=i-1;//从已排序列最后一个元素开始比较(因为是按照从小到大的顺序)
while(j>=0&&a[j]>temp)
{
a[j+1]=a[j];//找到就后移,j--,比较前一个元素
j--;
}
a[j+1]=temp;//插入temp
}
}