阅读下列算法,并回答问题:
voidt32(intr[],intn)
{
Inti,j;
for(i=2;i{r[0]=r[i];
J=i—l;
while(r[0]{r[J+1]=r[j];
j=j一1;
}
r[j+1]=r[0];
}
}
(1)这是哪一种插入排序算法?该算法是否稳定?
(2)设置r[0]的作用是什么?
阅读下列算法,并回答问题:
voidt32(intr[],intn)
{
Inti,j;
for(i=2;i{r[0]=r[i];
J=i—l;
while(r[0]{r[J+1]=r[j];
j=j一1;
}
r[j+1]=r[0];
}
}
(1)这是哪一种插入排序算法?该算法是否稳定?
(2)设置r[0]的作用是什么?
【正确答案】:(1)直接插入排序,该算法是稳定的。 (2)r[0]的作用是监视哨兵。 解析:根据算法,可知其为直接插入排序的算法,该算法是稳定的。程序中r[0]的作用是监视哨兵。
Top