试题内容
试题五
阅读以下说明、图和C代码。
【说明】
一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。例如,图10-8(a)所示的树的孩子-兄弟表示如图10-8(b)所示。
函数LevelTraverse()的功能是对给定树进行层序遍历。例如,对图10-1所示的树进行层序遍历时,结点的访问次序为D B A E F P C。
对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所示:
Bool、Status类型定义如下:
typedef enum { FALSE=0,TRUE=1 } Bool;
typedef enum { OVERFLOW=-2,UNDERFLOW=-1,ERROR=0,OK=1}Status;
树的二叉链表结点定义如下:
typedef struct Node {
char data;
struct Node *firstchild,*nextbrother;
} Node,*TreeNode;
【函数】
Status LevelTraverse ( TreeNode root )
{ /*层序遍历树,树采用孩子-兄弟表示法,root是树根结点的指针*/
Queue tempQ;
TreeNode ptr,brotherptr;
if (! root)
return ERROR;
InitQueue(&tempQ);
(1) ;
brotherptr = root -> nextbrother;
while (brotherptr) {
EnQueue(&tempQ,brotherptr);
(2) ;
}/*end-while*/
while( (3) ){
(4) ;
printf("%c\t",ptr->data);
if( (5) )continue;
(6) ;
brotherptr = ptr->firstchild->nextbrother;
while (brotherptr) {
EnQueue(&tempQ,brotherptr);
(7) ;
}/*end-while*/
}/*end-while*/
return OK;
}/*LevelTraverse*/
软题库参考答案:暂时没有答案(仅供参考)
软题库解析:正在加载....
你可能感兴趣的试题
试题三
阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]
某运输公司决定为新的售票机开发车票销售的控制软件。图3-1给出了售票机的面板示意图以及相关的控制部件。
售票机相关部件的作用如下所述:
目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
显示屏显示所有的系统输出和用户提示信息。
插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
打印机用于输出车票。
假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。
系统采用面向对象方法开发,使用UML进行建模。系统的顶层用例图和类图分别如图3-2和图3-3所示。第1题:
试题一(15分)
阅读下列说明和图,回管问题1至问题4,将解管填八管题纸的对应栏内。
【说明】
某大学为进步推进无纸化考试,欲开发考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息、,教师和学生进行考试相关的工作。系统与考试有关的王要功能如下。
(1)考试设置。教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。
(2)显示并接收解答。根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行捏醒,并接收学生的解答。
(3)处理解答。根据答案对接收到的解管数据进行处理,然后特解管结果进行存储。
(4)生成成绩报告。根据解答结果生成学生个人成绩报告,供学生查看。
(5)生成成绩单。对解答结果进行核算后生成课程成绩单供教师查看。
试题三
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。
关于唱片,还有以下描述信息:
1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。
2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。
3.每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上——条音轨是什么 (如果存在的话)。
根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以