void insert(int a[],int n)
{
int p,i,temp;
if(a == NULL)
return;
for(p=1;p<n;p++)
{
temp = a[p];
for(i=p;i>0 && a[i-1] > temp;i--)
a[i]=a[i-1];
a[i]=temp;
}
return;
}
在插入排序中,为了插入新的数据,将较大的元素一个一个向右移动,然后将新数据插入到空位中。在排序过程中,当前索引左边的元素都是排好序的,但是它们并不处于最终正确的位置上,因为之后它们还需要进行移动来为更小的数据腾出空间。当索引移到最右边时,数组就完全排好序了。
