javascript 折半查找字符在数组中的位置(有序列表)


Posted in Javascript onDecember 09, 2010
/** 
* 折半查找字符在数组中的位置(有序列表) 
* @param array 被检索的数组 
* @param x 要查找的字符 
* @type int 
* @returns 字符在数组中的位置,没找到返回-1 
*/ function binarySearch(array,x){ 
var lowPoint=1; 
var higPoint=array.length; 
var returnValue=-1; 
var midPoint; 
var found=false; 
while ((lowPoint<=higPoint)&&(!found)){ 
midPoint=Math.ceil((lowPoint+higPoint)/2); 
//console.log(lowPoint+"===="+midPoint+"===="+higPoint); 
if(x>array[midPoint-1]){ 
lowPoint=midPoint+1; 
} 
else if(x<array[midPoint-1]){ 
higPoint= midPoint-1; 
} 
else if(x=array[midPoint-1]){ 
found=true; 
} 
} 
if(found){ 
returnValue=midPoint; 
} 
return returnValue; 
} 
/*var array2=[1,2,3,4,5,6,7,8,9,100,109];*/ 
var array2=['a','b','c','d','e','f','g']; 
console.log(binarySearch(array2,'c'));
Javascript 相关文章推荐
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
无刷新上传文件并返回自定义值
Jun 11 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
js实现上传图片及时预览
May 07 Javascript
Javascript基础之数组的使用
May 13 Javascript
Bootstrap模块dropdown实现下拉框响应
May 22 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
layui实现显示数据表格、搜索和修改功能示例
Jun 03 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 Javascript
element tree树形组件回显数据问题解决
Aug 14 Javascript
基于jQuery的一个扩展form序列化到json对象
Dec 09 #Javascript
来自国外的页面JavaScript文件优化
Dec 08 #Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 #Javascript
javascript中callee与caller的用法和应用场景
Dec 08 #Javascript
js下通过prototype扩展实现indexOf的代码
Dec 08 #Javascript
在JQuery dialog里的服务器控件 事件失效问题
Dec 08 #Javascript
jquery蒙版控件实现代码
Dec 08 #Javascript
You might like
PHP安全配置
2006/12/06 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
python文件的md5加密方法
2016/04/06 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
Python如何发布程序的详细教程
2018/10/09 Python
python将txt文件读取为字典的示例
2018/12/22 Python
python实现维吉尼亚加密法
2019/03/20 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
Python执行时间的几种计算方法
2020/07/31 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
金智子午JAVA面试题
2015/09/04 面试题
应届生自我鉴定
2013/12/11 职场文书
军训 自我鉴定
2014/02/03 职场文书
科技节口号
2014/06/19 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
质量整改报告范文
2014/11/08 职场文书
庆六一开幕词
2015/01/29 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
研讨会致辞
2015/07/31 职场文书