输入广义表形式,输出二叉树?~

来源:百度知道 编辑:UC知道 时间:2024/05/04 05:08:34
RT~
怎么完成啊~各位大大留个QQ啥的。。。
例如:
(A(B(D,E),C(,F)))
怎么输出成 A
/ \
B C
/ \ \
D E F
我用的是C++。高人留个QQ嘛,我有些问题还不会呢。

program ltree;
const n=8;
type trlist=^node;
node=record
da:char;
l,r:trlist;
end;
var s:array[1..n] of trlist;
p,root:trlist;
ch:char;
top,k:integer;
procedure creat(var head:trlist);
begin
read(ch);
top:=0;
while ch<>'#' do
begin
case ch of
'A'..'Z':begin new(p);p^.da:=ch;p^.l:=nil;p^.r:=nil;
if top<>0 then
case k of
1:s[top]^.l:=p;
2:s[top]^.r:=p;
end
end;
'(':begin top:=top+1;s[top]:=p;k:=1;end;
')': top:=top-1;
',': k:=2;
end;
read(ch);
end;
head:=s[1];
end;

留个邮箱地址,我把源代码发给你,里面只有几个小错误。

哈夫曼树的建立 建立最优二叉树 可以建立函数输入二叉树,并输出哈夫曼书 树状输出二叉树 采用二叉链表存储结构,按前根序输入二叉树的结点序列,建立二叉树并中根序遍历该二叉树,计算叶子节点的个数 输出二叉树所有叶结点C++ 用pascal语言编写算法,输入前序及中序,输出二叉树的后序 要求能够分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数; 用C语言编写程序,创建一个二叉树的二叉链表结构,然后输出从根结点到所有叶子结点的路径。 关于VC篇程 二叉树 输入一组二叉树查找某一数值 用VC实现括号法输入二叉树。 已知用二叉链表存储二叉树,判断两棵二叉树是否相等