P1.直接插入排序
1、 基本思想:将右侧 无序区的元素依次插入到左侧 有序区中,如第一步:
将无序区的第一个元素(i) 与 有序区的最后一个元素(j=i-1)进行自右向左的比较;
2、算法关键节点
for(i=2;i<n;i++) //数组下标从2开始,s[1](1个元素即为有序序列,没有比较的意义)
s[0]=s[i] ; //设置监视哨
j=i-1; //确定要比较元素的最右边位置
while(s[0]<s[j])
{
s[j+1]=s[j]; //将较大数值的数向右移1位
j--; //s[0]与有序区下一个元素(即,s[j--])进行比较
}
s[j+1]=s[0]; //将元素s[i] 插入到相应的位置