写出二分查找算法的两种实现


Posted in 面试题 onMay 13, 2013
1)递归方法实现:
int BSearch(elemtype a[],elemtype x,int low,int high)
/*在下届为low,上界为high的数组a中折半查找数据元素x*/
{
int mid;
if(low>high) return -1;
mid=(low+high)/2;
if(x==a[mid]) return mid;
if(x else return(BSearch(a,x,mid+1,high));
}
2)非递归方法实现:
int BSearch(elemtype a[],keytype key,int n)
{
int low,high,mid;
low=0;high=n-1;
while(low {
mid=(low+high)/2;
if(a[mid].key==key) return mid;
else if(a[mid].key else high=mid-1;
}
return -1;
}

Tags in this post...

面试题 相关文章推荐
简单介绍Object类的功能、常用方法
Oct 02 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 面试题
SQL Server面试题
Oct 17 面试题
.net面试题
Sep 17 面试题
.net工程师笔试题
Jun 09 面试题
.NET面试10题
Feb 24 面试题
什么是TCP/IP
Jul 27 面试题
linux面试题参考答案(6)
Aug 29 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
Apr 11 面试题
请用Java实现列出某个目录下的所有文件
Sep 23 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
May 30 面试题
编写类String的构造函数、析构函数和赋值函数
May 29 #面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 #面试题
C++的几个面试题附答案
Aug 03 #面试题
为什么会有内存对齐
Oct 10 #面试题
数组越界问题
Oct 21 #面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 #面试题
介绍一下#error预处理
Sep 25 #面试题
You might like
PHP 面向对象详解
2012/09/13 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
PDO::exec讲解
2019/01/28 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python_LDA实现方法详解
2017/10/25 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
python ftplib模块使用代码实例
2019/12/31 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
建筑公司文秘岗位职责
2013/11/29 职场文书
男女朋友协议书
2014/04/23 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
大一学生个人总结
2015/02/15 职场文书
护士2015年终工作总结
2015/04/29 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
初中信息技术教学反思
2016/02/16 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript