97. 二叉排序树
来源:互联网 发布:网络小贷公司英文翻译 编辑:程序博客网 时间:2024/06/04 18:34
#include<stdlib.h>
struct node{
int val; // 结点值
struct node* lchild; // 左结点
struct node* rchild; // 右结点
};
node *Creat() // 创建结点
{
node *T=(struct node*)malloc(sizeof(struct node));
T->lchild=T->rchild=NULL;
return T;
}
node *Insert(node *T,int x) // 创建二叉排序树
{
if(T==NULL){
T=Creat();
T->val=x;
return T;
}
else if(x<T->val) T->lchild=Insert(T->lchild,x);
else if(x>T->val) T->rchild=Insert(T->rchild,x);
return T;
}
int FindFather(node *FatherT,node *T,int x) // 查找父结点
{
if(x==T->val){
if(FatherT==NULL) return -1;
else return FatherT->val;
}
else if(x>T->val) return FindFather(T,T->rchild,x);
else if(x<T->val) return FindFather(T,T->lchild,x);
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
node *T=NULL;
int k;
for(int i=0;i<n;i++){
scanf("%d",&k);
T=Insert(T,k);
int x=FindFather(NULL,T,k);
printf("%d\n",x);
}
}
return 0;
}
0 0
- 97. 二叉排序树
- 97. 二叉排序树
- 【北邮OJ】97. 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- VS2010 更改MFC标题栏图标和生成的执行文件图标
- WPF等待框用户控件
- iOS游戏开发一:App申请创建与证书的申请创建
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- Android环境变量的设置&模拟器设置网络代理
- 97. 二叉排序树
- sqk,按分钟统计平均值
- Android实战技术: 用Dimension解决多屏幕适配的问题
- 移动Web开发资料大汇总
- 正确使用unix高级环境编程的源码 以及 数据库函数库代码的运行
- trie-字典树及实现
- 浙大2012上机 PAT1034. Head of a Gang (30)
- 小谈Android应用的电量消耗和优化策略
- 2014CVTE招聘之一面