刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

请填补代码中的空缺,完善InsertBST函数。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

father=(void*)0

keyword!=p-key

p

sizeof(BSTNode)

*rootptr

father-left=p

father-right=p

解析:

  1. 根据题目描述和C语言语法,初始化father指针为空指针,应填写为father=(void*)0
  2. 在while循环中,用于查找关键字kword的节点,所以条件应为关键字不等于当前节点关键字,即keyword != p->key
  3. 如果在树中找到了关键字kword,则返回0表示插入失败,这里的p表示已经找到了一个节点,其关键字与要插入的关键字相同。
  4. 创建新节点时,需要分配足够的内存来存储一个BSTNode结构体的实例。因此应该使用sizeof(BSTNode)来获取结构体的大小。
  5. 当二叉查找树为空树时,新节点作为树根插入,所以这里应该是根节点的指针,即*rootptr
  6. 当新节点的关键字小于father节点的关键字时,新节点作为左孩子插入,因此应该是father->left=p
  7. 当新节点的关键字大于father节点的关键字时,新节点作为右孩子插入,因此应该是father->right=p
创作类型:
原创

本文链接:请填补代码中的空缺,完善InsertBST函数。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share