swust oj 1011
二叉排序树的实现和查找
输入
关键字个数n;
关键字集合;
要查找的关键字;
输出
查找成功输出比较的次数,否则输出-1。
样例输入
12
25 18 46 2 53 39 32 4 74 67 60 11
74
样例输出
4
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<cstdio>
typedef int Datetype;
using namespace std;
int x; typedef struct link{
Datetype date;
struct link *lchild;
struct link *rchild;
}tree; void creat(tree *&L, int arr[] ,int l,int r)
{
if(l>r)
{
L=NULL;
return ;
}
int s=(l+r)>>;
L=new tree;
L->date=arr[s];
creat(L->lchild,arr,l,s-);
creat(L->rchild,arr,s+,r);
} void display(tree *&L)
{
if(L!=NULL)
{
cout<<L->date<<" ";
display(L->lchild);
display(L->rchild);
}
} void delet(tree *&L)
{
if(L!=NULL)
{
delet(L->lchild);
delet(L->rchild);
delete(L);
}
} void find(tree *&L, int a)
{
if(L!=NULL)
{
x++;
if(a>L->date)
find(L->rchild,a);
else if(a<L->date)
find(L->lchild,a);
else
return ;
}
if(L==NULL)
x=;
} int main()
{
int arr[];
int n,a;
tree *L;
cin>>n;
for(int i=;i<n;i++)
{
cin>>arr[i];
}
sort(arr,arr+n);
cin>>a;
creat(L,arr,,n-);
// display(L);
find(L,a);
if(x)
cout<<x;
else
cout<<"-1";
delet(L);
return ;
}
swust oj 1011的更多相关文章
- [Swust OJ 404]--最小代价树(动态规划)
题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535 Des ...
- [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)
题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...
- SWUST OJ NBA Finals(0649)
NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128 Descri ...
- [Swust OJ 1023]--Escape(带点其他状态的BFS)
解题思路:http://acm.swust.edu.cn/problem/1023/ Time limit(ms): 5000 Memory limit(kb): 65535 Descript ...
- [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)
题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535 Descriptio ...
- [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)
题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...
- [Swust OJ 1026]--Egg pain's hzf
题目链接:http://acm.swust.edu.cn/problem/1026/ Time limit(ms): 3000 Memory limit(kb): 65535 hzf ...
- [九度OJ]1011.最大连续子序列
原题链接:http://ac.jobdu.com/problem.php?pid=1011 题目描述: 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ N ...
- [Swust OJ 1139]--Coin-row problem
题目链接: http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...
随机推荐
- linux编译相关命令
一.编译可执行文件 g++ –c Hello.cpp 编译文件,生成目标文件Hello.o g++ Hello.o –o a.out 链接并重命名为可执行文件a.out g++ Hello.cc ...
- USACO Training Section 1.1 题解(共4题)
第一题 题目传送门:你的飞碟在这儿 分析 水题一道,输入两个字符串,将它们转换为数字并同时相乘,然后判断一下它们是不是对于47同余就可以了. 代码 #include<bits/stdc++.h& ...
- pycharm远程调试docker容器内程序
文章链接: https://blog.csdn.net/hanchaobiao/article/details/84069299 参考链接: https://blog.csdn.net/github_ ...
- .Net Core 技巧
避免同步调用 正确的使用异步编程 async/await 使用异步编程尽量避免 Task.Await() 或者 Task.Result(因为会阻塞线程,直到任务完成,有违异步的设计思想) 尽量始终执行 ...
- buaaoo_first_assignment
四周之前,我不懂面向对象是什么:四周之后,我依然不懂面向对象是什么. 一.第一次作业 (1)实现 说起来,本次作业是最惨烈的一次. 虽然它很简单,但由于未熟悉正则表达式的应用,导致判断wrong fo ...
- Anaconda安装python tensorflow 环境
1.安装Anaconda3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 2.安装python 3.6 (base) C:\Users\ ...
- org.json.JSONObject的getString和optString使用注意事项
结论:org.json.JSONObject的getString如果取不到对应的key会抛出异常,optString则不会 /** * Returns the value mapped by {@co ...
- JS,JQ实现模拟暂停FOR循环,间隔几秒后再继续执行
<!DOCTYPE html><head><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquer ...
- UOJ#75. 【UR #6】智商锁 随机化算法 矩阵树定理
原文链接www.cnblogs.com/zhouzhendong/p/UOJ75.html 前言 根本没想到. 题解 首先我们可以考虑一种做法: 找一些图,使得他们各自的生成树个数乘起来等于 k. 那 ...
- 彻底解决eclipse中tomcat启动速度缓慢的问题
问题: Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs tomcat启动速度总是很慢,检查后发现tomcat ...