| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 22676 人关注过本帖, 15 人收藏
标题:[原创][开源]二叉树基本操作的程序实现.
只看楼主 加入收藏
fyi1106
Rank: 1
等 级:新手上路
帖 子:327
专家分:0
注 册:2006-10-14
收藏
得分:0 
我顶,虽然我没看,但实在感动楼主的用苦良心,我们做数据结构实验时就写了这些,写得好烦呀,楼主早贴出来该多好。

JavaScript forever!
2007-05-05 16:26
lishiyong110
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-5-5
收藏
得分:0 
看了一些  特别是非递归形式非常好  非常感谢
2007-05-05 22:48
kongbei
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-20
收藏
得分:0 
写得很好呀!!!
2007-05-07 08:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

/************************************************************/
/* 按层次顺序建立一棵二叉树 */
/************************************************************/
#include"Bintree.h"

Bintree Level_Creat()
{
Bintree root,p,s;
queue node;
node.front=node.rear=0;
char ch;
ch=getchar();
if(ch==' ')
{
return NULL;
}
root=(Binnode*)malloc(sizeof(Binnode)); //生成根结点
root->data=ch;
node.data[node.rear++]=root; //用队列实现层次遍历
while(node.front<node.rear)
{
p=node.data[node.front++];
ch=getchar(); //为了简化操作,分别对左右子结点进行赋值。
if(ch!=' ')//子树不空则进队列进行扩充。下同
{
s=(Binnode*)malloc(sizeof(Binnode));
s->data=ch;
p->lchild=s;
node.data[node.rear++]=s;
}
else
{
p->lchild=NULL;
}
ch=getchar();
if(ch!=' ')
{
s=(Binnode*)malloc(sizeof(Binnode));
s->data=ch;
p->rchild=s;
node.data[node.rear++]=s;
}
else
{
p->rchild=NULL;
}
}
return root;
}
int main()
{
Bintree root;
root=Level_Creat();
Inorder1(root);//测试,中序遍历
return 0;
}


倚天照海花无数,流水高山心自知。
2007-05-12 20:04
Gislover
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-15
收藏
得分:0 


2007-05-15 10:21
yuesheng
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-4-21
收藏
得分:0 
  接受了你的算法思想,谢谢了啊,不过问下,递归建树,为什么要用指针的指针?不能直接用指针啊?
2007-05-15 11:46
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
对结点本身是个指针.如果你要修改根结点,那就得用指针的指针才可以保存修改.

倚天照海花无数,流水高山心自知。
2007-05-15 12:32
yuji512512
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-16
收藏
得分:0 
楼主写的很好,前几个看懂了,后几个不是太明白

2007-05-16 08:46
yuesheng
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-4-21
收藏
得分:0 
问下楼主,比较复杂的程序是怎样想到怎么做的?看的懂,但是自己通常编不出来
2007-05-20 21:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
练多了就可以了.有些经典的算法可以去背,不过我记性差点,至今没背好.
熟能生巧.呵呵.

倚天照海花无数,流水高山心自知。
2007-05-21 21:51
快速回复:[原创][开源]二叉树基本操作的程序实现.
数据加载中...
 
   



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

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