8584阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 二叉查找树又称1486

题目详情
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树。 (1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值。 (2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值。 (3)左、右子树本身就是两棵二叉查找树。 二叉查找树是通过依次输入数据元素并把它们插入到二叉树的适当位置上构造起来的,具体的过程是:每读入一个元素,建立一个新结点,若二叉查找树非空,则将新结点的值与根结点的值相比较,如果小于根结点的值,则插入到左子树中,否则插入到右子树中;若二叉查找树为空,则新结点作为二叉查找树的根结点。 根据关键码序列{46,25,54,13,29,91}构造一个二叉查找树的过程如图4-1所示。设二叉查找树采用二叉链表存储,结点类型定义如下: typedef int KeyType; typedef struct BSTNode{ KeyType key; struct BSTNode *left,*right; }BSTNode,*BSTree; 图4-1(g)所示二叉查找树的二叉链表表示如图4-2所示。图4-2 函数int InsertBST(BSTree *rootptr,KeyType kword)功能是将关键码kword插入到由rootptr指示出根结点的二叉查找树中,若插入成功,函数返回1,否则返回0。 【C代码】 int lnsertBST(BSTree*rootptr,KeyType kword) { BSTree p,father; (1) ; p=*rootptr; while(p&& (2) ){ father=p; if(kword<p->key) p=p->left; else p=p->right; } if((3) )return 0; p=(BSTree)malloc((4) ); If(!p)return 0; p->key=kword; p->left=NULL; p->right=NULL; If(!father) (5) =p; else if(kword<father->key) (6) ; else (7) ; return 1; } 请帮忙给出正确答案和分析,谢谢!
题目答案
题目解析⬇️小程序搜题更方便
推荐题目
713阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 某文本文件中保存2856
1661请叙述乙状结肠扭转的X线表现。7598
5864阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明1】 递归函数is_elem(1712
2553阅读以下说明和流程图,填补流程图和问题中的空缺(1)~(5),将解答填入答题纸的对应栏内。 【说明】 6987
5634阅读以下说明和 Java 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易7742
1872阅读以下说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易中,3907
7909环征7265
9225引起胆管低位性梗阻的原因可能有:()A.胆总管下端结石B.胆囊结石C.胆总管下端肿瘤D.肝内胆管4139
6072阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数 GetLis7810
3712Windows 命令 tracert www.163.com.cn 显示的内容如下,那么本地默认网关的 IP 地址是()。网站 ww4971
4163All three types of cryptography schemes have unique function mapping to specific applicati5682
5701ISP 分配给某公司的地址块为 199.34.76.64/28,则该公司得到的 IP 地址数是()。A.8B.16C.32D.644480
8115以太网中出现冲突后,发送方什么时候可以再次尝试发送? () 。A.再次收到目标站的发送请求后B.在 J2239
1624肝硬化合并门脉高压:()A.CT显示右肝叶缩小、左叶增大、肝裂增宽、肝表面凹凸不平B.CT显示肝稍增8905
6669已知数据信息为 16 位,最少应该附加()位校验位,以实现海明码纠错。A.3B.4C.5D.6763
最新题库