| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 776 人关注过本帖, 1 人收藏
标题:创建二叉排序树的问题
取消只看楼主 加入收藏
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
收藏(1)
 问题点数:0 回复次数:0 
创建二叉排序树的问题
#include<iostream>
using namespace std;
typedef struct Tree{
struct Tree *lchild,*rchild;
int data;
}TNode,*BiTree;
BiTree Search(BiTree T,int data,BiTree f,BiTree &p)
{// f初始值是NULL, 指向T的双亲
if(!T) p = f;
else if( T->data == data) p = T;
else if( T->data < data ) return Search(T->lchild,data,T,p);
else return Search(T->rchild,data,T,p);
}
void insert(BiTree &T,int data)
{
BiTree p,s;
if(!Search(T,data,NULL,p))
{
s = (BiTree)malloc(sizeof(TNode));
s->data = data; s->lchild = s->rchild = NULL;
if(!p) T = s;
else if(p->data > data) p->lchild = s;
else p->rchild = s;
}
}
void creatBiTree(BiTree &T)
{
int data;
do{
cin>>data;
insert(T,data);
}while(data!=0);
}
void printBiTree(BiTree &T)
{
if(T)
{
cout<<T->data<<endl;
printBiTree(T->lchild);
printBiTree(T->rchild);
}
}
int main()
{
BiTree t;
creatBiTree(t);
printBiTree(t);
system("pause");
return 0;
}
搜索更多相关主题的帖子: include return insert 
2005-12-13 16:56
快速回复:创建二叉排序树的问题
数据加载中...
 
   



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

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