下面程序实现插入排序算法。在空白处填写适当的内容,使该程序功能完整。<br/>typedefstruct{<br/>intkey;<br/>InfoTypeotherinfo;<br/>}SeqList;<br/>voidInsertSort(SeqListR[],intn)<br/>{/*待排序列保存在R[1…n]中*/<br/>SeqListx;<br/>inti,j,k,lo,hi,mi;<br/>for(i=2;i﹤=n;i++)<br/><br/>{<br/>______;<br/>lo=1;<br/>hi=i一1;<br/>while(lo<=hi)<br/>{<br/>mi=(lo+hi)/2;<br/>if(______)break:<br/>if(R[mi].key>x.key)hi=mi一1;<br/>else10=mi+1;<br/>}<br/>if(mi==lo)k=i—mi;<br/>elsek=i—mi一1;<br/>for(j=0;j<k;j++)<br/>______;<br/>R[i—j]=x;<br/>}<br/>}

题目类型: 问答题

题目内容

下面程序实现插入排序算法。在空白处填写适当的内容,使该程序功能完整。
typedefstruct{
intkey;
InfoTypeotherinfo;
}SeqList;
voidInsertSort(SeqListR[],intn)
{/*待排序列保存在R[1…n]中*/
SeqListx;
inti,j,k,lo,hi,mi;
for(i=2;i﹤=n;i++)


______;
lo=1;
hi=i一1;
while(lo<=hi)

mi=(lo+hi)/2;
if(______)break:
if(R[mi].key>x.key)hi=mi一1;
else10=mi+1;

if(mi==lo)k=i—mi;
elsek=i—mi一1;
for(j=0;j______;
R[i—j]=x;

正确答案

x=R[i]; R[mi].key==x.key; R[i—j]=R[i—j一1]。

题目纠错