04-树4 是否同一棵二叉搜索树
来源:互联网 发布:联通网络电视怎么样 编辑:程序博客网 时间:2024/05/12 17:24
#include <stdio.h>#include <stdlib.h>#define ElementType inttypedef struct TNode *Position;typedef Position Tree;struct TNode{ ElementType Data; Tree Left; Tree Right; int flag;};Tree makeTree(int N);Tree InsertTree(Tree T,int V);int JudgeSame(Tree T,int tmp);int check(Tree T,int tmp);void reSet(Tree T);void FreeTree(Tree T);void printfTree(Tree T){ if(T->Left) printfTree(T->Left); if(T->Right) printfTree(T->Right); printf("%d",T->Data);}int main(){ int N,L,i; Tree T; //freopen("in.txt", "r", stdin); scanf("%d",&N); while(N) { scanf("%d",&L); T=makeTree(N); printfTree(T); for(i=0;i<L;i++) { if(JudgeSame(T,N)) { printf("Yes\n"); } else { printf("No\n"); } reSet(T); } FreeTree(T); scanf("%d",&N); } return 0;}Tree makeTree(int N){ int i=0,tmp; Tree T; for(i=0;i<N;i++) { scanf("%d",&tmp); printf("will be inserted nood %d",tmp); if(!T) { printf("init root %d\n",tmp); T=(Position)malloc(sizeof(struct TNode)); T->Data=tmp; T->Left=NULL; T->Right=NULL; } else { T=InsertTree(T,tmp); } }}Tree InsertTree(Tree T,int V){ if(!T) { printf("init chlid Tree %d",V); T=(Position)malloc(sizeof(struct TNode)); T->Data=V; T->Left=NULL; T->Right=NULL; } else { if(V>T->Data) { T->Right=InsertTree(T->Right,V); } else { T->Left=InsertTree(T->Left,V); } } return T;}int JudgeSame(Tree T,int N){ int i,V; scanf("%d",&V); if(V!=T->Data) { return 0; } else { T->flag=1; } for(i=1;i<N;i++) { scanf("%d",&V); if(!check(T,V)) return 0; } return 1;}int check(Tree T,int tmp){ if(T->flag) { if(tmp<T->Data) return JudgeSame(T->Left,tmp); else if(tmp>T->Data) return JudgeSame(T->Right,tmp); else return 0; } else { if(tmp==T->Data) { T->flag=1; return 1; } else return 0; }}void reSet(Tree T){ if(T->Left) { reSet(T->Left); } if(T->Right) { reSet(T->Right); } T->flag=0;}void FreeTree(Tree T){ if(T->Left) FreeTree(T->Left); if(T->Right) FreeTree(T->Right); free(T);}
真是头大 求网上大神指出一下 不知道在哪里有问题了
0 0
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否是同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- PTA-是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- 解决电脑速度慢的问题
- 我的算法7
- 新三板的合作门槛是多少?
- 解密大数据
- # spring 源码学习笔记 未编辑完成
- 04-树4 是否同一棵二叉搜索树
- 继承:继承接口和实现
- 面试-算法(1)
- fl2440 dm9000网卡驱动安装
- cstring 专 char*
- 挑战练习题3.3 POJ 2886 Who Gets the Most Candies? 树状数组
- fl2440——Linux主机与开发板之间使用tftp
- 密文策略基于属性加密(CP-ABE)访问树构造与解密
- 欢迎使用CSDN-markdown编辑器