软题库 学习课程
当前位置:信管网 >> 在线考试中心 >> 试题查看
试题题型【分析简答题】
试题内容

阅读以下说明和 C 函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
己知两个整数数组 A 和 B 中分别存放了长度为 m 和 n 的两个非递减有序序列,函数 Adjustment(A,B,m,n)的功能是合并两个非递减序列,并将序列的前m个整数存入A中,其余元素依序存入 B 中。

例如:

合并过程如下:从数组 A 的第一个元素开始处理。用数组 B 的最小元素 B[0]与数组 A  的当前元素比较,若 A 的元素较小,则继续考查 A 的下一个元素;否则,先将A的最大元素暂存入temp ,然后移动A中的元素挪出空闲单元并将 B[0]插入数组 A ,最后将暂存在temp 中的数据插入数组B的适当位置(保持 B的有序性)。如此重复,直到A中所有元素都不大于B中所有元素为止。

【C 函数】
void Adjustment(int  A[] ,int B[] ,int m ,int n)
{     /*数组 A 有 m 个元素,数组 B 有 n 个元素*/
int i ,k ,temp;

for(i = 0;  i < m; i++)
{
if  (A[i]  <= B[0]) continue;

temp  =(1);           /*将 A 中的最大元素备份至 temp */

/*从后往前依次考查 A 的元素,移动 A 的元素并将来自 B 的最小元素插入 A 中*/
for(k = m-1;       (2);  k--)
A[k] = A[k-1];
A[i] =(3);

/*将备份在 temp 的数据插入数组 B 的适当位置*/
for(k  =  1;(4)&& k  < n; k++)
B[k-1] = B[k];
B[k-1]  =(5);
}
}

查看答案

相关试题