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转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
javascript使用location.search的示例
Nov 05 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
javascript内置对象操作详解
Feb 04 Javascript
javascript实现控制的多级下拉菜单
Jul 05 Javascript
JavaScript模版引擎的基本实现方法浅析
Feb 15 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
May 03 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
Aug 03 Javascript
js实现倒计时效果(小于10补零)
Mar 08 Javascript
Angular使用Restful的增删改
Dec 28 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数组指针函数功能及用法示例
2020/02/11 PHP
php命令行模式代码实例详解
2021/02/26 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
中专毕业生求职简历的自我评价
2013/10/21 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
党员民主评议自我评价
2014/10/20 职场文书
环卫处个人工作总结
2015/03/04 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server