| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1508 人关注过本帖
标题:二叉树的建立 (一级指针的实现)
只看楼主 加入收藏
C_ray
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-12-17
收藏
 问题点数:0 回复次数:3 
二叉树的建立 (一级指针的实现)

快速建立的一种方法:



#include <iostream>
#include <cstdlib>

using namespace std;

#define type char

typedef struct TREE
{
type value;
struct TREE *LSubTree;
struct TREE *RSubTree;
}TreeNode, *PtNode;


PtNode BuildTree()
{

PtNode root;
char ch;
root=new TreeNode;
if(!root)
exit(-1);
cin>>ch;

if(ch=='@')
root=NULL;
else
{
root=new TreeNode;
root->value=ch;

root->LSubTree=BuildTree();
root->RSubTree=BuildTree();
}

return root;

}


void Inorder(PtNode root)
{
if(root!=NULL)
{
Inorder(root->LSubTree);
cout<< root ->value<<endl;
Inorder (root ->RSubTree);
}
}

void Postorder(PtNode root)
{
if(root!=NULL)
{
Inorder( root->LSubTree);

Inorder( root->RSubTree);
cout<< root ->value<<endl;
}
}

/////////////////////////////////////////////
int main()
{
PtNode tree;
cout<<"Test began !\n"
<<"Enter some letters for the tree:(SYMBOL '@' MEANS BLANK)\n";

tree=BuildTree();
Inorder( tree);
Postorder( tree);

return 0;
}

搜索更多相关主题的帖子: 二叉树 指针 
2005-12-30 15:36
C_ray
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-12-17
收藏
得分:0 

真是很不好意思(哎 复制惹的祸呀)
部分代码修正:
将函数 Postorder(PtNode root)中

Inorder( root->LSubTree);
Inorder( root->RSubTree);
改为:
Postorder(root->LSubTree);
Postorder( root->RSubTree);
另外,在主函数中务必加上:
delete tree;
然后再返回。(OR memorry leak !)


2006-01-05 16:24
zhangkailang
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-14
收藏
得分:0 
是什么意思啊
using namespace std;
2008-11-15 23:25
geninsf009
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:613
专家分:95
注 册:2008-8-16
收藏
得分:0 
回复 3# 的帖子
c++中包含系统名字空间.
2008-11-16 13:43
快速回复:二叉树的建立 (一级指针的实现)
数据加载中...
 
   



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

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