按定义definition创建二叉树的说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作CreateBiTree(T,definition)的实现

首先要清楚逻辑上怎样唯一地确定二叉树,课堂上讲了3类方法。下面以第一类为例。即带空子树的先序遍历序列。由于实验中二叉链表作为二叉树的物理结构,这样就可以确定CreateBiTree(T,definetion)的说明为

CreateBiTree(BiTree T,ElemType definition[])

这里BiTree是结点指针类型,definition是数据元素数组,这个数组无法给出数组的大小(像学C语言时,整数序列排序,sort(int a,int n))。这个就要求输入时不要出错。

具体在菜单选择时:

case 3:

1. 输入带空子树的先序遍历序列:definition;

2. 调用CreateBiTree(T,definition)。

实现操作CreateBiTree功能,可用多个函数实现。

CreateBiTree(BiTree T,ElemType definition[]){

。。。。。

调用P131的创建函数CreatBitree1

}

CreatBitree1(BiTree T,definition[](第2个参数提供结点数据definition,思考一下具体形式,甚至为了方便取数组元素,设置3个参数都可以))

{

依次输入definition的结点数据ch

根据ch的值,按教材流程处理。

}

以上是假定设计时,规定了按树的定义definition创建二叉树,提供了这个统一的使用方式,使用者按这个统一的接口使用创建操作、创建二叉树。

当然,如果直接按书上的程序,也能实现创建二叉树,也不会影响到后续的其它操作。但是这个调用接口被自行改变了,就显得不规范。

相关文档
最新文档