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 相关文章推荐
Bootstrap进度条组件知识详解
May 01 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
Sep 23 Javascript
Javascript json object 与string 相互转换的简单实现
Sep 27 Javascript
Javascript使用function创建类的两种方法(推荐)
Nov 19 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
js异步编程小技巧详解
Aug 14 Javascript
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
JavaScript作用域链实例详解
Jan 21 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
微信小程序转化为uni-app项目的方法示例
May 22 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
php 页面执行时间计算代码
2008/12/04 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
js left,right,mid函数
2008/06/10 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
2018/11/29 Python
使用python实现多维数据降维操作
2020/02/24 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
物流专员岗位职责
2014/02/17 职场文书
终止劳动合同通知书
2015/04/16 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python