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 相关文章推荐
jquery获取选中的文本和值的方法
Jul 08 Javascript
jQuery的position()方法详解
Jul 19 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
Jquery实现跨域异步上传文件总结
Feb 03 Javascript
详解Node项目部署到云服务器上
Jul 12 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
react实现菜单权限控制的方法
Dec 11 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
May 18 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函数(简单整理)
2010/04/30 PHP
php 发送带附件邮件示例
2014/01/23 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
js对象的复制继承实例
2015/01/10 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
JS对日期操作封装代码实例
2019/11/08 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
python 简单的多线程链接实现代码
2016/08/28 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
学python爬虫能做什么
2020/07/29 Python
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
平安家庭示范户事迹
2014/06/02 职场文书
效能风暴心得体会
2014/09/04 职场文书
讲文明倡议书
2015/04/29 职场文书
教研活动主持词
2015/07/03 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL