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 SHA-1:Secure Hash Algorithm
Dec 20 Javascript
Exjs 入门篇
Apr 07 Javascript
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
JS中的构造函数详细解析
Mar 10 Javascript
JavaScript中的闭包(Closure)详细介绍
Dec 30 Javascript
jQuery插件实现多级联动菜单效果
Dec 01 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
Jun 01 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 Javascript
Vue实现简易计算器
Feb 25 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
基于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的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
慎用 somefunction.prototype 分析
2009/06/02 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
简单谈谈python基本数据类型
2018/09/26 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
Python项目跨域问题解决方案
2020/06/22 Python
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
员工培训邀请函
2014/02/02 职场文书
千与千寻观后感
2015/06/04 职场文书
公司会议开幕词
2016/03/03 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
Python中常见的导入方式总结
2021/05/06 Python