文件名称:66
- 所属分类:
- 系统编程
- 资源属性:
- [WORD]
- 上传时间:
- 2012-11-26
- 文件大小:
- 79kb
- 下载次数:
- 0次
- 提 供 者:
- zhangx******
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
通过和用户交互的形式,按照先序遍历输入一个二叉树,二叉数采用数组的结构存储,按层次遍历给结点编号,父亲结点和左右孩子通过两个公式联系,如父亲结点是i,则左孩子为2i+1,右孩子为2i+2.初始数组均被赋成星号,用户理论上可以输入ASCII码以内的任何值,但为了利于验证,只能输入可见字符(除作为标志的星号,回车表示该结点没有数据).
该程序的先序建树,先序输出以及中序输出是采用栈和循环实现的,后序输出是用递归来实现的,在先序建树子程序中,利用反逻辑,将叶子结点,树建完成,和用户输入回车等情况用跳转语句跳到后面去考虑,这样就只剩下含有左右孩子的二叉树了,就可以将右入栈,访问左子树,然后循环.剩下的情况单独考虑,例如是叶子结点就访问一下,然后弹栈再循环,这是从一般到特殊,使问题变的简单,容易考虑.由于结点是按层次编号的,所以在提示语句中必须初始化序号.
该程序的先序建树,先序输出以及中序输出是采用栈和循环实现的,后序输出是用递归来实现的,在先序建树子程序中,利用反逻辑,将叶子结点,树建完成,和用户输入回车等情况用跳转语句跳到后面去考虑,这样就只剩下含有左右孩子的二叉树了,就可以将右入栈,访问左子树,然后循环.剩下的情况单独考虑,例如是叶子结点就访问一下,然后弹栈再循环,这是从一般到特殊,使问题变的简单,容易考虑.由于结点是按层次编号的,所以在提示语句中必须初始化序号.
(系统自动生成,下载前可以参看下载内容)
下载文件列表
66.doc