| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:请教高手,一个c++的二叉树表问题!
只看楼主 加入收藏
ZhangVan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-25
收藏
 问题点数:0 回复次数:0 
请教高手,一个c++的二叉树表问题!
#include <iostream>
using namespace std;
struct Triple{
char F;
char C;
char D;
};
Triple data[9]={{'^','A','L'},{'A','B','L'},{'A','C','R'},{'B','D','L'},{'C','
E','L'},
{'C','F','R'},{'D','G','R'},{'F','H','L'},{'^','^','L'}};
struct Tree{
Tree *lchild,*rchild;
char c;
};
Tree *p=NULL;Tree *q=NULL;


void Find(Tree* &p)
{
int i;
for (i=0;i<9;i++)
{
if(p->c==data[i].F)
{
if(data[i].D=='L')
{
p->lchild=new Tree;
p->lchild->c=data[i].C;
p->lchild->lchild=NULL;
p->lchild->rchild=NULL;
Find(p->lchild);
}
if(data[i].D=='R')
{
p->rchild=new Tree;
p->rchild->c=data[i].C;
p->rchild->lchild=NULL;
p->rchild->rchild=NULL;
Find(p->rchild);
}
}
}
}

void Create(Tree* &p)
{
int i=0;
if(data[i].C=='A')
{
p=new Tree;
p->c=data[i].C;
p->lchild=NULL;p->rchild=NULL;
Find(p);
}
}

void Inorder(Tree* &p)
{
p=q;
if(p)
{
Inorder(p->lchild);
cout<<p->c<<'\t';
Inorder(p->rchild);
}
}

int main()
{
Create(p);
Inorder(p);
return 0;
}
问题补充:进行逐步调试时p->c=data[i].C; 这一句不能进行,是不是建立动态结构体时
要进行初始化?如果是,要怎么写啊
搜索更多相关主题的帖子: 二叉树 
2008-04-25 20:11
快速回复:请教高手,一个c++的二叉树表问题!
数据加载中...
 
   



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

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