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 MD4
Dec 20 Javascript
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
jQuery 常见学习网站与参考书
Nov 09 Javascript
javascript event 事件解析
Jan 31 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
php与js的区别是什么
Aug 05 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
Apr 13 Javascript
vue实现自定义日期组件功能的实例代码
Nov 06 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
JavaScript实现网页下拉菜单效果
Nov 20 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
javascript编程起步(第六课)
2007/02/27 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Django csrf 验证问题的实现
2018/10/09 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
网站开发实习生的自我评价
2013/12/11 职场文书
服装厂厂长职责
2013/12/16 职场文书
2014年教研工作总结
2014/12/06 职场文书
小学元宵节活动总结
2015/02/06 职场文书
三八妇女节寄语
2015/02/27 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
Java spring定时任务详解
2021/10/05 Java/Android