国内最大的教育考试网站之一
2008年11月软考程序员笔试考前全真模拟试题(41)
2008-11-6 15:43:20 来源:优易学(Qnr.Cn) 作者:Qnr.Cn

 阅读下列说明和流程图,将应填入(n)的语句写在答题纸的对应栏内。
  【流程图说明】
  下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data,left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。
  【算法说明】
  【流程图】
  将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:
  typedef struct node{
  int data;
  struct node*left;
  struct node*right;
  }NODE;
  【算法】
  NODE*SearchSortTree(NODE*tree,int e)
  {
  if(tree!=NULL)
  {
  if(tree->data<e)
  (4) ;∥小于查找左子树
  else if(tree->data<e)
  (5) ;∥大于查找左子树
  else return tree;
  }
  return tree;
  }

  【答案】
  (1)p=p->left
  (2)p=p->right
  (3)return P
  (4)return SearchSortTree(tree->left)
  (5)return SearchSortTree(tree->right)

【字体: 】【收藏本页】【打印本文】【告诉好友 】【投稿邮箱