- #include <stdio.h>
#include <stdlib.h>
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode
{
int data;
BinTree lchild,rchild;
};
BinTree B[100];
BinTree CreateBinTree()
{
int num,i,n;
BinTree t,s;
t=NULL;
printf("建立二叉树(-1表示为虚结点,0表示输入结束):\n");
num=0;
scanf("%d",&n);
while(n!=0)
{
}s=(BinTree)malloc(sizeof(BinTree)); s->data=n; s->lchild=s->rchild=NULL; num++; if(!t) t=s; B[num]=s; scanf("%d",&n);
for(i=1;i<=num;i++)
{
}if(B[i]->data!=-1) { if(2*i<=num && B[2*i]->data!=-1) B[i]->lchild=B[2*i]; if(2*i+1<=num && B[2*i+1]->data!=1) B[i]->rchild=B[2*i+1]; }
return t;
}
int IsSearchTree(BinTree t) //判别给定的二叉树是否是二叉排序树
{
/* 你的代码将被嵌在这里 */
}
int main(void)
{
int flag=0;
BinTree tree;
tree=CreateBinTree();
flag=IsSearchTree(tree);
if(flag)
elseprintf("这棵树是二叉排序树!\n");
return 0;printf("这棵树不是二叉排序树!\n");
}
已经晕了
用这段不完整代码写一个判断给定二叉树是否为二叉排序树的算法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 你可以参考下这篇文章:(算法练习)——二叉树创建、遍历的实现(完整代码)
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥170 如图所示配置eNSP
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装