考研报名

数据结构第九章填空题及参考答案[9]_跨考网

来源:跨考2011-12-08

1.假设root是一棵给定的非空查找树,对于下面给出的子程序,当执行注释中给出的调用语句时,就可以实现如下的操作:在非空查找树root中查找值为k 的结点;若值为k的结点在树中,且是一个叶子结点,则删除此叶子结点,同时置success

  为“真”;若值为k的结点不在树中,或者虽然在树中,但不是叶子结点,则不进行删除,仅置success为“假”。应注意到非空查找树只包含一个结点情况,此时树中的唯一结点,既是根结点,也是叶子结点。

  #include <stdio.h>

  typedef struct node {

  int key;

  struct node *left *right;

  } node;

  node *root; int ksuccess;

  void del_leaf(node **t, int k, int *sn)

  { node *p, *pf; p=*t; *sn=0;

  while(_1_&&!*sn)

  if (k==p->key) *sn =1;

  else { _2_;

  if (k<p->key ) p=p->left; else p=p->right; }

  if (*sn && p->left==NULL && p->right==null)

  { if (_3_ )

  if (pf->left ==p ) pf ->left=null; else pf->right=null;

  else _4_ ;

  free(p); }

  else *sn=0;

  /*call form :del_leaf( &root, k, &success);*/ 上海大学 1999 一、2 8分)】

  【参考答案】

  (1)p!=null (2)pf=p (3)p!=*t (4)*t=null

展开全文
频道>考研报名

近期热点

相关推荐

大家都在看

2021考研复试该怎么准备?要穿什么衣服?

2021考研线上复试来了?别慌 注意这些细节就好!

2021考研线上复试攻略来袭!

2021考研复试中9个低级错误 千万别犯!

2021考研复试联系导师要注意这些点!

2022考研复试面试主要考查考生哪方面能力?

2022考研党如何高效利用一天24小时?

跨考分校

加盟