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 select标签操作代码段
May 16 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
Sep 19 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
JS中表单的使用小结
Jan 11 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 Javascript
BootStrap3中模态对话框的使用
Jan 06 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
Jun 21 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
May 30 Javascript
element-ui 设置菜单栏展开的方法
Aug 22 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
Vue实现剪切板图片压缩功能
Feb 04 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
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
使用matplotlib画散点图的方法
2018/05/25 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
主题酒店策划书
2014/01/28 职场文书
会议邀请书范文
2014/02/02 职场文书
租房协议书样本
2014/08/20 职场文书
会计学习心得体会
2014/09/09 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
工程部主管岗位职责
2015/02/12 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
python数字类型和占位符详情
2022/03/13 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL