| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2000 人关注过本帖
标题:二叉树问题
取消只看楼主 加入收藏
function321
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-3
收藏
 问题点数:0 回复次数:0 
二叉树问题
学数据结构不久,为何我先序建立二叉树后,不能输出的呢?
#include<iostream>
#include<iomanip>
using namespace std;
#define OVERFLOW 0
#define NULL 0
#define OK 1
typedef int Status;
typedef char ElemType;
typedef struct BiTree
{
ElemType data;
struct BiTree *Lchild;
struct BiTree *Rchild;
}BiTree,*Binary_Tree;
//创建一个二叉树
Status CreateBiTree(Binary_Tree &T)
{
char ch;
   T=(Binary_Tree)malloc(sizeof(BiTree));
   if(!T) exit(OVERFLOW);
   cin>>ch;
   if(ch=='@') T=NULL;
   else
   {
    T->data=ch;
    CreateBiTree(T->Lchild);  
    CreateBiTree(T->Rchild);
   }
return OK;
}
//先遍历二叉树
Status PreShowBiTree(Binary_Tree T)
{
if(T!=NULL)
{
   cout<<T->data<<setw(3);
   PreShowBiTree(T->Lchild);
   PreShowBiTree(T->Rchild);
}
return OK;
}
//中遍历二叉树
Status MidShowBiTree(Binary_Tree T)
{
if(T!=NULL)
{
   MidShowBiTree(T->Lchild);
   cout<<T->data<<setw(3);
   MidShowBiTree(T->Rchild);
}
return OK;
}
//后遍历二叉树
Status BehShowBiTree(Binary_Tree T)
{
if(T!=NULL)
{  
   BehShowBiTree(T->Lchild);
   BehShowBiTree(T->Rchild);
   cout<<T->data<<setw(3);
}
return OK;
}
int main()
{
BiTree *T;
cout<<"请创建一个二叉树: "<<endl;
CreateBiTree(T);
cout<<"先序遍历: ";
PreShowBiTree(T);
cout<<endl;
cout<<"中序遍历: ";
MidShowBiTree(T);
cout<<endl;
cout<<"后序遍历: ";
BehShowBiTree(T);
cout<<endl;
return 0;
}
比如先后输入ABC@@DE@G@@F@@@ 之后按回车,怎么没有反映的呢?        麻烦帮忙解决下,不胜感激!
搜索更多相关主题的帖子: 二叉树 
2008-11-20 22:05
快速回复:二叉树问题
数据加载中...
 
   



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

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