软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2012年下半年程序员考试下午真题试题(案例分析)
考试中心《2012年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2012年下半年
试题题型【分析简答题】
试题内容

阅读以下说明和 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);
     }
}


相关试题

推荐文章
合作网站内容