通俗解释:当你在操场站队的时候,要从矮到高排队,假设你前面的同学已经是排好的高矮顺序,然后,老师把你拎出来(value=p[i]),然后将你和你前面的同学逐个比较高矮,比你高的同学往后移动;直到找到适合你的位置,然后再把你插入队伍。
代码如下
void insert(int *p,int num)
{
int value,i,j;
for(i=1;i<num;i++)
{
value=p[i];
for(j=i-1;j>=0&&value<p[j];j--)/*循环的条件是j大于等于0,并且value前面的数比它大*/
{
p[j+1]=p[j]; /*满足循环条件,说明p[i]比value值大,所以往后移动*/
}
p[j+1]=temp; /*跳出循环,说明找到了比自己小的值,就把它插入到这个值的后面,(或者到底了(此时j=-1)然后p[0]=temp)*/
}
}