注意:此页面搜索的是所有试题
题目内容
(国家开放大学数据结构复习题)
以下程序是折半插入排序的算法
设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i] 插入到已经有序的序列a[1],…a[i-1]中。
void binsort (NODE a[ ],int n)
{ int x,i,j,s,k,m;
for (i=2;i<=__(1)____ ;i++)
{ a[0]=a[i];
x= a[i].key;
s=1;
j=i-1;
while (s<=j)
{ m=__(2)___;
if( x<a[m].key)
__(3)___;
else
__(4)___;
}
for ( k=i-1;k>=j+1;k- -)
__(5)___=a[k];
a[j+1]=a[0];
}
}
【答案选项】
A. (s+j)/2
B. j=m-1
C. a[k+1]
D. n
E. s=m+1
设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i] 插入到已经有序的序列a[1],…a[i-1]中。
void binsort (NODE a[ ],int n)
{ int x,i,j,s,k,m;
for (i=2;i<=__(1)____ ;i++)
{ a[0]=a[i];
x= a[i].key;
s=1;
j=i-1;
while (s<=j)
{ m=__(2)___;
if( x<a[m].key)
__(3)___;
else
__(4)___;
}
for ( k=i-1;k>=j+1;k- -)
__(5)___=a[k];
a[j+1]=a[0];
}
}
【答案选项】
A. (s+j)/2
B. j=m-1
C. a[k+1]
D. n
E. s=m+1
参考答案