■■■[紧急求助]二叉树(中序,前序,顺序,静态,传地址)
一、题目
以字母为元素,按中序顺序存储元素,按前序顺序存储元素的下标,实现二叉树的基本操作:输出、输入、求树深、求叶子数、前序、中序、后序、层序。
要求:①对于需要回传的参数,把实参的地址传给形传;②能在TC2环境下执行。
1.存储结构
|
|
中序 |
|
|
|
前序 |
|
|
n |
d[0] |
… |
d[n-1] |
… |
a[0] |
… |
a[n-1] |
… |
结点数 |
元素 |
… |
元素 |
… |
下标 |
… |
下标 |
… |
typedef struct{
int n;/*结点数*/
DataType d[MAX];/*中序*/
int a[MAX];/*前序*/
}BiTree;
2.基本操作
⑴void Puts(BiTree T)——按广义表形式输出二叉树。
⑵void Gets(BiTree *T,char **s)——由广义表形式串创建二叉树。
⑶void Depth(BiTree T,int *i)——求树深。
⑷void Leaf(BiTree T,int *i)——求叶子数。
⑸void FPrint(BiTree T)——前序。
⑹void MPrint(BiTree T)——中序。
⑺void LPrint(BiTree T)——后序。
⑻void LePrint(BiTree T)——层序。
【注意】要求用C语言实现相关算法!
[此贴子已经被作者于2005-12-4 17:14:50编辑过]