标题:高手帮我完成一个程序好么 上机要用
只看楼主
crazy001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-4
 问题点数:0 回复次数:3 
高手帮我完成一个程序好么 上机要用
哪位高手能帮我完成一个程序,要求:输入一批数据,以999为结束,建立一棵二叉排序树,通过遍历
输出递增排序结果。用TURBO C编写 用到的函数我写出来,至于怎么组合起来我就不会了(大部分其实是MAIN还数不会写)
也不知道我给的函数全不全,哪位高手能帮我完成这个程序,并能运行。 谢谢高手
函数(采用自数据结构书上,如果大家有更好的算法也可)附下:
2007-04-09 21:38
crazy001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-4
得分:0 
回复:(crazy001)高手帮我完成一个程序好么 上机要用...
1.二叉树的二叉链表结构
typedef struct node
{
int key;
struct node *lchild;
struct node *rchild;
}bstnode,*bsttree;
2.二叉排序树的插入:
void insertbst(bstree *bst,int key)
{
bstree s;
if(*bst==NULL)
{
s=(bstree)malloc(sizeof(bstnode));
s->key=key;
s->lchild=NULL; s->rchild=NULL;
*bst=s;
}
else if(key<(*bst)->key)
insertbst(&((*bst)->lchild),key);
else if(key>(*bst)->key)
insertbst(&((*nst)->rchild),key);
}
3.创建二叉排序树
void creatbst(bstree *bst)
{
ine key;
*bst=NULL;
scanf ("%d",&key);
while(key!=999)
{
insertbst(bst,key);
scanf ("%d",&key);
}
}
4.至于遍历的算法应该是中序吧?
void inprder(bstreee root)
{
if(root!=NULL)
{
inorder(root->lchild);
printf ("%d",root->data);
inorder(root->rchild);
}
}
2007-04-09 21:39
crazy001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-4
得分:0 

就是用上面的大概这些函数 组成一个程序 完成上述功能

2007-04-09 21:40
crazy001
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-4
得分:0 
哪位高手能帮我做一下啊  急用啊
2007-04-11 17:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-130513-1-1.html




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

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