数据结构题,求大神给我可运行的代码。谢谢!

题:已知二叉排序树采用二叉链表存储结构,根节点的指针为T,链结点的结构为(lchaild,data,rchild),其中lchild、rchild分别指向该结点左、右孩子... 题:已知二叉排序树采用二叉链表存储结构,根节点的指针为T,链结点的结构为(lchaild,data,rchild),其中lchild、rchild分别指向该结点左、右孩子的指针,data域存放结点的数据信息。请写出递归函数,从小到大输出二叉排序树所有数据值>=x的结点的数据。要求先找到第一个满足条件的结点,再依次输出其他满足其他条件的结点。(亲测可运行啊) 展开
 我来答
laughlee7468
2013-12-19 · TA获得超过2004个赞
知道小有建树答主
回答量:541
采纳率:100%
帮助的人:666万
展开全部
#include "iostream.h"

typedef int datatype;
typedef struct Node{
datatype data;
Node *lchild, *rchild;
Node(datatype _data = 0, Node *_lchild = NULL, Node *_rchild = NULL):
data(_data), lchild(_lchild), rchild(_rchild){ }
}BitTree;

void DisplayTree(BitTree *T, datatype x)
{
if(T == NULL) return;
Display(T->lchild, x);
if(T->data >= x)
cout << T->data << "\t";
Display(T->rchild, x);
}

void InsertNode(BitTree* &T, datatype x)
{
if(T == NULL) {
T = new Node(x);
return;
}
if(x < T->data) return InsertNode(T->lchild, x);
return InsertNode(T->rchild, x);
}
void Create(BitTree* &T) {
int n, i;
datatype data;
cin >> n;
for(i = 0; i < n; i++) {
cin >> data;
InsertNode(T, data);
}
}
void main( ){
datatype x;
BitTree *T = NULL;
cin >> x;
Create(T);
Display(T, x);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式