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


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...

面试题 相关文章推荐
C有"按引用传递"吗
Sep 06 面试题
商得四方公司面试题(gid+)
Apr 30 面试题
程序员机试试题汇总
Mar 07 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
Aug 25 面试题
Internal修饰符有什么含义
Jul 10 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
Oct 31 面试题
什么是跨站脚本攻击
Dec 11 面试题
局域网标准
Sep 10 面试题
如何利用cmp命令比较文件
Apr 11 面试题
一套软件测试笔试题
Jul 25 面试题
Python面试题:如何用Python来发送邮件
Mar 15 面试题
几道Java和数据库的面试题
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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHP获取网卡地址的代码
2008/04/09 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
浅探express路由和中间件的实现
2019/09/30 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
高中自我鉴定
2013/12/20 职场文书
写自荐信要注意什么
2013/12/26 职场文书
2014年教研室工作总结
2014/12/06 职场文书
《火烧云》教学反思
2016/02/23 职场文书
PyTorch的Debug指南
2021/05/07 Python