试题查看

首页 > 软件水平考试 > 试题查看
【分析解答题】

试题五
阅读以下说明和C语言函数,将应填入 (n) 处。
[说明]
二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左子树上所有结点的值均小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二义排序树。
函数insErt_Bst(ChAr *str)的功能是:对给定的字符序列按照AsCⅱ码值大小关系创建二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点中的Count域对字符的重复次数进行计数。
二叉排序树的链表结点类型定义如下:
typEDEF struCtBstnoDE
ChArElEm; /*结点的字符数据*/
intCount; /*记录当前字符在序列中重复出现的次数*/
struCtBstnoDE *lCh,*rCh; /*接点的左、右子树指针*/
*BitrEE;
[函数]
BitrEE insErt_Bst(ChAr *str)
BitrEE root,pArEnt,p;
ChAr (1) ; /*变量定义及初始化 */
root=BitrEE)mAlloC(sizEoF(struCtBstnoDE));
iF(!root||*s==’\0’) rEturn null;
root->lCh=root->rCh=null; Foot->Count=1; root->ElEm=*s++;
For(; *s!=’\0’;s++)
(2) ;pArEnt=null;
whilE (p) /*p从树跟结点出发查找当前字符*s所在结点 */
pArEnt = p;
iF(*s==p->ElEm)/*若树中已存在当前字符结点,则当前字符的计数值加1*/
p->Count++; BrEAk;
ElsE /*否则根据字符*s与结点*p中字符的关系,进入*p的左子树或右子树*/
iF (*s>p->ElEm) p=p->rCh;
ElsE p=p->lCh;
/*whilE*/
iF( (3) ) /* 若树中不存在字符值为*s的结点,则申请结点并插入树中 */
p=BitrEE)mAlloC(sizEoF(struCtBstnoDE));
iF(!p)rEturn null;
p->lCh=p->rCh=null; p->Count=1;p->ElEm=*s;
/*根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入*/
iF(p->ElEm>pArEnt->ElEm) (4) =p;
ElsE (5) =p;
/*For*/
rEturn root;

查看答案解析

参考答案:

正在加载...

答案解析

正在加载...

如答案有误或试题有侵权,请联系我们。[提交反馈][在线客服]

根据网考网移动考试中心的统计,该试题:

0%的考友选择了A选项

0%的考友选择了B选项

0%的考友选择了C选项

0%的考友选择了D选项

你可能感兴趣的试题

【VisualBasic代码】Dimp(30,30)AsSingle’通用声明C【VisualBasic代码】PrivateSubDrivel_Change()【Java代码】importjavA.awt.*;importjavA.appl【C++程序】#include<iostream>usingnamespaces试题一阅读下列说明和流程图,将应填入(n)处。[流程图说明]流程图1-1描述了一试题二阅读以下说明和C语言函数,将应填入(n)处。[说明]函数intfind_M
版权所有网考网(netkao.com)All Rights Reserved

警告:系统检测到您的账号存在安全风险

抱歉,您的账号因涉嫌违反网考网购买须知被冻结。您可在“网考网” 微信公众号中的“官网服务”- "账号解封申请”申请解封。

微信扫描关注网考网