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 相关文章推荐
myeclipse安装jQuery插件的方法
Mar 29 Javascript
dreamweaver 安装Jquery智能提示
Apr 02 Javascript
jquery和js实现对div的隐藏和显示方法
Sep 26 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
Oct 17 Javascript
JavaScript数组常用方法
Mar 02 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
详解Axios 如何取消已发送的请求
Oct 20 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
Jul 19 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访问查询mysql数据的三种方法
2006/10/09 PHP
php URL验证正则表达式
2011/07/19 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
python fabric使用笔记
2015/05/09 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
单位实习证明怎么写
2014/01/17 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
升国旗仪式主持词
2014/03/19 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
员工加薪申请报告
2015/05/15 职场文书
在职证明书模板
2015/06/15 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
python基础之文件处理知识总结
2021/05/23 Python
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
Python循环之while无限迭代
2022/04/30 Python
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python