首页 > 试题广场 >

程序填空

[问答题]

程序填空。以下将a h,…, a m 和a m+1, …,a n 两个有序序列(它们相应的关键字值满足K h <=…<=K m ,K m+1 <=…<=K n )合并成一个有序序列R h ,…,R n (使其关键字值满足K h <=…<=K m )。试分析算法,并在括号内填充适当的语句,使其完整,

void merge (list a,list R,int h,int m,int n)

{   i=h; k=h; j=m+1;

while ( (i<=m)&&(j<=n) )

{  if (a[i].key<=a[j].key){R[k]=(    ①     ) ;(      ②     );}

else {R[k]=(   ③     );(     ④     ) ;}

K++;

}

while (i<=(    ⑤     )){R[k]=a[i];i++;k++;}

while (j<=(     ⑥    )){R[k]=a[j];j++;k++;}

}

此算法的执行时间为( ⑦  )。

a[i]
i++
a[j]
j++
m
n
O(m+n)
发表于 2021-04-22 19:26:27 回复(0)