注册 登录
编程论坛 数据结构与算法

二叉树的实现及应用

踏月光 发布于 2017-11-13 15:58, 3773 次点击
只有本站会员才能查看附件,请 登录
这个代码是老师给的,里面那个字符数组我不太懂,请问这个主函数怎么写?
9 回复
#2
踏月光2017-11-13 16:04
请问有人知道怎么写吗?
#3
xzlxzlxzl2017-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
ken12212023-11-13 19:34
1