| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 135 人关注过本帖
标题:二叉树的实现及应用
只看楼主 收藏
踏月光
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-11-13
结帖率:0
  已结贴   问题点数:20  回复次数:6   
二叉树的实现及应用
这个代码是老师给的,里面那个字符数组我不太懂,请问这个主函数怎么写?
附件: 您没有浏览附件的权限,请 登录注册
2017-11-13 15:58
踏月光
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-11-13
  得分:0 
请问有人知道怎么写吗?
2017-11-13 16:04
xzlxzlxzl
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖北
等 级:版主
威 望:98
帖 子:1009
专家分:5367
注 册:2014-5-3
  得分:10 
你老师的代码也是书上抄的。
大致的定义及调用代码如下:
struct BitTreeNode
{
  char data;
  lchild *BitTreeNode;
  rchild *BitTreeNode;
}*BiTree;
//在这里写上你老师给的二叉树建立函数

void main()
{
  BiTree root;
  char a[]="sjdkfhsi"
  root=CreatBiTree(a);   //调用二叉树建立函数
}
2017-11-13 22:09
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:22
帖 子:3872
专家分:11048
注 册:2016-10-22
  得分:10 
回复 3楼 xzlxzlxzl
和楼主的代码进行匹配因为结束条件问题感觉存在越界的可能~你提供的输入案例就是了~有两种改法……一种是末尾加'0',推荐另一种是改动判断空树条件应该是以'\0'来作为结束条件(注'0'和'\0'是不一样的)~

那个static在这里简便了很多~如果不用那就要多传入一个指针作为下表标记,递归创建传递参数就有这个问题~用非递归创建则可以避免用static~

[此贴子已经被作者于2017-11-14 12:11编辑过]


[code]/*~告诫自己:不要为了细微的效率差别而牺牲可读性!~2017-11-07更~*/[/code]
2017-11-14 12:09
踏月光
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-11-13
  得分:0 
回复 3楼 xzlxzlxzl
二叉树是需要从键盘输入的,不是直接在主函数里面指定
2017-11-14 14:49
踏月光
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-11-13
  得分:0 
回复 4楼 九转星河
那个二叉树是需要从键盘输入的,不是在主函数里面直接指定,然后代码里面那个str[i++],主函数不知道该怎么写,可以给我说一下吗?
2017-11-14 14:52
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:22
帖 子:3872
专家分:11048
注 册:2016-10-22
  得分:0 
主函数大体是这样~

程序代码:
#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;
}

[code]/*~告诫自己:不要为了细微的效率差别而牺牲可读性!~2017-11-07更~*/[/code]
2017-11-14 16:04







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068679 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved