2024下半年软件设计师第一期模考试卷(案例分析)

软件设计师 责任编辑:陈湘君 2024-10-10

添加老师微信

备考咨询

加我微信

摘要:希赛网日前举行了2024下半年软件设计师第一期模考活动,现将2024下半年软件设计师第一期模考试卷(案例分析)分享给大家。有需要的同学可以在本文资料处下载该资料的PDF版本。

希赛网2024下半年软件设计师第一期模考活动已结束,现将2024下半年软件设计师第一期模考试卷(案例分析)分享给大家。本资料的PDF版本可在本文文首本文资料处或文末的资料下载栏目下载

2024下半年软件设计师第一期模考试卷(案例分析)部分试题如下:

1、阅读下列函数说明和C函数,将应填入    (n)    处的字句写在答题纸的对应栏内。

[函数5说明]

  函数DeleteNode(Bitree *r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:

typedef struct Tnode{

int data;

struct Tnode *Lchild,*Rchild;

}*Bitree;

  在二叉查找树上删除一个结点时,要考虑三种情况:

  1若待删除的结点p是叶子结点,则直接删除该结点;

  2若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;

  3若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述1、2情况之一。

问题内容:

[函数5]

int DeleteNode(Bitree *r,int e) {

  Bitree p = *r, pp, s, c;

  while (  (1)     ) { /*从树根结点出发查找键值为e的结点*/

   pp = p;

   if ( e< p->data) p = p -> Lchild;

   else p = p->Rchild;

  }

  if (!p) return -1;  /* 查找失败 */

  if (p->Lchild && p->Rchild) { /* 处理情况3 */

   s = (2);pp = p;

   while (  (3) ) { pp = s; s = s-> Rchild; }

   p->data = s ->data; p = s;

  }

  /* 处理情况1、2*/

  if ( (4) ) c = p -> Lchild;

  else c = p -> Rchild;

  if (p == *r) *r = c;

  if ( (5)     ) pp -> Lchild = c;

  else pp->Rchild = c;

 free(p);

 return 0;

 }

试题答案:

(1)p&&p->data !=e 或 p&&(*p).data !=e

(2)p->Lchild 或 (*p).Lchild

(3)s->Rchild 或 (*s).Rchild

(4)p->Lchild 或 (*p).Lchild

(5)p==pp->Lchild 或 p (*pp).Lchild

软考科目怎么选?
微信扫码下方二维码找答案

kn.png
软考论文怎么写?
微信扫码进入论文批改小程序

kn.png

热门:系统集成项目管理工程师备考 | 25上半年软考准考证打印时间

推荐:系统规划与管理师网络课堂  | 软考高项论文专题班hotgif.gif

活动:软考刷题突击班  | 新人礼包  | 5月软考模考大赛hotgif.gif

备考:软考备考学习资料 | 软考模拟考试 | 软考AI大模型

课程:系统规划与管理师报考指南  |  PMP课程

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!