2009年上半年软考软件设计师下午试卷[9]

软考 iorilzc 浏览 2395 来源:希赛网

试题五(共15分)阅读下列说明和C函数代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个结点,且每个结点仅访问一次的过程。函数InOrder()借助栈实现二叉树的非递归中序遍历运算。设二叉树采用二叉链表存储,结点类型定义如下:

  试题五(共 15 分)

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

  【说明】

  对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个结点,且每个结点仅访问一次的过程。函数InOrder()借助栈实现二叉树的非递归中序遍历运算。

  设二叉树采用二叉链表存储,结点类型定义如下:

  typedef struct BtNode{
  ElemType  data;  /*结点的数据域,ElemType的具体定义省略*/
  struct BtNode *lchild,*rchild;  /*结点的左、右孩子指针域*/
  }BtNode, *BTree;
  在函数InOrder()中,用栈暂存二叉树中各个结点的指针,并将栈表示为不含头结点
  的单向链表(简称链栈),其结点类型定义如下:
  typedef struct StNode{  /*链栈的结点类型*/
  BTree elem;  /*栈中的元素是指向二叉链表结点的指针*/
  struct StNode *link;
  }StNode;

  假设从栈顶到栈底的元素为 en、en-1、…、e1,则不含头结点的链栈示意图如图5-1所示。

  【C函数】

  int  InOrder(BTree root)  /* 实现二叉树的非递归中序遍历  */
  {
  BTree ptr; /* ptr用于指向二叉树中的结点  */
  StNode *q;  /* q暂存链栈中新创建或待删除的结点指针*/
  StNode *stacktop = NULL;  /* 初始化空栈的栈顶指针stacktop */
  ptr = root;  /* ptr指向二叉树的根结点  */
  while ( (1)  || stacktop != NULL) {
  while (ptr != NULL) {
  q = (StNode *)malloc(sizeof(StNode));
  if (q == NULL)
  return -1;
  q->elem = ptr;
  (2)  ;
  stacktop = q;  /*stacktop指向新的栈顶*/
  ptr = (3)  ; /*进入左子树*/
  }
  q = stacktop;
  (4)  ;  /*栈顶元素出栈*/
  visit(q);  /*visit是访问结点的函数,其具体定义省略*/
  ptr = (5)  ;  /*进入右子树*/
  free(q);  /*释放原栈顶元素的结点空间*/
  }
  return 0;
  }/*InOrder*/ 
  [答案讨论]

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  

责任编辑:iorilzc|希赛教研中心

希赛教研中心拥有一支规模200余人的专职教研团队,深耕项目管理、软考、通信工程师、金融财会、厂商认证、考博英语等方向,形成“讲师+助教+班主任+智能学习平台”协同联动的完整教学服务体系:讲师讲透方法、助教盯住进度和答疑、班主任守住节奏、智能平台记录每一步成长——环环相扣,让学员的备考全程有人陪、有反馈、有结果。 师资力量雄厚。主要讲师毕业于 985/211 等知名高校,并拥有海外留学归国人才;职称梯队完善,高、中级职称讲师结构合理,讲师持有软考高级资格证书、PMI系列认证、CSPM高级项目管理培训师证、PeopleCert认证、DAMA认证、英语专八(TEM-8)、PETS-5、华为HCIE、经济师、一级建造师等行业权威资质,兼具深厚理论功底与丰富实战经验。 教研成果卓越。教研团队成员深度参与多项国家标准的研制工作,是 GB/T 47282-2026《项目重大节点评审规范》、GB/T 47285-2026《项目商业分析指南》、GB/T 30339-2026《项目和项目群后评价指南》、GB/T 46210-2025《项目成本管理指南》等国家标准的主要起草人,并担任《中国项目管理知识体系指南》总体编写专家组成员。团队累计主编出版专业图书与教材一百多种,覆盖软考、通信工程师、PMP、CSPM、NPDP等多个认证方向。 教学成效显著。 依托希赛自主研发的开放式智能互动学习平台,团队累计服务学员超百万人,帮助众多学员顺利通过软考、 PMP、CSPM、NPDP、华为认证、通信工程师、管理类联考、考博英语等考试,大批学员考入 985、211 等知名高校深造,以专业与口碑赢得学员和行业的广泛认可。

📅 本文最后更新于 2026-04-03

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
新人礼包 新人礼包 课程咨询 课程咨询 企业团报 企业团报 电话咨询 电话咨询

客服热线:400-111-9811

售后投诉:156-1612-8671

公众号 公众号
希赛网公众号二维码
扫二维码 关注希赛网
APP下载 APP下载
希赛网APP下载二维码
扫二维码 下载APP
二维码
二维码
第1步:扫码添加老师微信  第2步:领取备考资料
!
咨询在线老师!