编程论坛
注册
登录
编程论坛
→
数据结构与算法
二叉树的实现及应用
踏月光
发布于 2017-11-13 15:58, 3773 次点击
只有本站会员才能查看附件,请
登录
这个代码是老师给的,里面那个字符数组我不太懂,请问这个主函数怎么写?
9 回复
#2
踏月光
2017-11-13 16:04
请问有人知道怎么写吗?
#3
xzlxzlxzl
2017-11-13 22:09
你老师的代码也是书上抄的。
大致的定义及调用代码如下:
struct BitTreeNode
{
char data;
lchild *BitTreeNode;
rchild *BitTreeNode;
}*BiTree;
//在这里写上你老师给的二叉树建立函数
void main()
{
BiTree root;
char a[]="sjdkfhsi"
root=CreatBiTree(a); //调用二叉树建立函数
}
#4
九转星河
2017-11-14 12:09
回复 3楼 xzlxzlxzl
和楼主的代码进行匹配因为结束条件问题感觉存在越界的可能~你提供的输入案例就是了~有两种改法……一种是末尾加'0',推荐另一种是改动判断空树条件应该是以'\0'来作为结束条件(注'0'和'\0'是不一样的)
~
那个static在这里简便了很多~如果不用那就要多传入一个指针作为下表标记,递归创建传递参数就有这个问题~用非递归创建则可以避免用static
~
[此贴子已经被作者于2017-11-14 12:11编辑过]
#5
踏月光
2017-11-14 14:49
回复 3楼 xzlxzlxzl
二叉树是需要从键盘输入的,不是直接在主函数里面指定
#6
踏月光
2017-11-14 14:52
回复 4楼 九转星河
那个二叉树是需要从键盘输入的,不是在主函数里面直接指定,然后代码里面那个str[i++],主函数不知道该怎么写,可以给我说一下吗?
#7
九转星河
2017-11-14 16:04
主函数大体是这样~
程序代码:
#include
<stdio.h>
#include
<string.h>
#define
MAX 100
int
main()
{
char
str[MAX];
memset(str,
0
,
sizeof
(str));
fgets(str,
sizeof
(str),stdin);
str[strlen(str)-
1
]=
'
0
'
;
//
调用函数 foo();
puts(str);
return
0
;
}
#8
初学学者
2018-05-26 23:39
回复 3楼 xzlxzlxzl
为什么都一样,运行的时候会显示停止工作呢?
只有本站会员才能查看附件,请
登录
只有本站会员才能查看附件,请
登录
只有本站会员才能查看附件,请
登录
#9
俺是你大爷
2019-03-12 13:19
数据结构二叉树:https://blog.
搜索树及其应用:https://blog.
树的旋转详解:https://blog.
#10
ken1221
2023-11-13 19:34
1