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


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

面试题 相关文章推荐
什么是Smarty变量操作符?如何使用Smarty变量操作符
Jul 18 面试题
Collection和Collections的区别
May 02 面试题
空字符串(“”)和null的区别
Nov 13 面试题
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
Aug 17 面试题
怎样在程序里获得一个空指针
Jan 24 面试题
统计每一学生的平均成绩
Jun 06 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
软件工程师面试题
Jun 25 面试题
EJB发布WEB服务一般步骤
Oct 31 面试题
Java文件和目录(IO)操作
Aug 26 面试题
Unix如何在一行中运行多个命令
May 29 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
编写类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几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
Laravel框架源码解析之模型Model原理与用法解析
2020/05/14 PHP
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
python开发之字符串string操作方法实例详解
2015/11/12 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
英文导游词
2015/02/13 职场文书
数据库连接池
2021/04/06 MySQL
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
nginx 配置缓存
2022/05/11 Servers