| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2855 人关注过本帖
标题:[求助]二叉树遍历的程序里面的visit函数如何实现
取消只看楼主 加入收藏
killvawow
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-30
收藏
 问题点数:0 回复次数:1 
[求助]二叉树遍历的程序里面的visit函数如何实现

我在没懂的后面加注释 希望大家指教

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct binode
{
char data;
struct binode *lchild;
struct binode *rchild;
}Binode;

Binode* create()
{
char ch;
Binode *t;
scanf("%c",&ch);
if(ch=='\n ')
{
t=(Binode *)malloc(sizeof(Binode));
t->data=ch;
t->lchild=create();
t->rchild=create();
}
return t;
}

char putcharacter(char ch) //问题1:这个地方是用来输入数据的吧,是怎么做到的?
{
return(putchar(ch));
}d

void Preorder(Binode * t,char(* visit)(char ch)) //问题二:这个定义我一点也没有明白,visit根本没有
定义这个函数,怎么就直接用了?它是怎么实现的。
后面的(char ch)是什么意思?
//问题3:如何+一个程序,实现求二叉树的高度
{
void PrintElement(char e)
{
printf("%c",e);
return;
}
if(t){
visit(t->data);
Preorder(t->lchild,visit);
Preorder(t->rchild,visit);
}
}
void Inorder(Binode *t,char(* visit)(char ch))
{
if(t){
Inorder(t->lchild,visit);
visit(t->data);
Inorder(t->rchild,visit);
}
}

void Postorder(Binode *t,char(* visit)(char ch))
{
if(t){
Postorder(t->lchild,visit);
Postorder(t->rchild,visit);
visit(t->data);
}
}

main()
{
char ch;
Binode *t=0;
Binode *create();
char putcharacter(char ch);
void Preorder(Binode * t,char(* visit)(char ch));
void Inorder(Binode *t,char(* visit)(char ch));
void Postorder(Binode *t,char(* visit)(char ch));

printf("\nto create bintree...\n\n");
t=create();
printf("Preorder visit bintree:\n");
Preorder(t,putcharacter);
printf("\n");
printf("Inorder visit bintree:\n");
Inorder(t,putcharacter);
printf("\n");
printf("Postorder visit bintree:\n");
Postorder(t,putcharacter);

}

搜索更多相关主题的帖子: 二叉树 遍历 visit 函数 
2006-10-30 13:12
killvawow
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-10-30
收藏
得分:0 
帮帮我啊~~~~~
2006-10-30 15:53
快速回复:[求助]二叉树遍历的程序里面的visit函数如何实现
数据加载中...
 
   



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

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