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实现类似EasyUI的页面布局可改变左右的宽度
Sep 12 Javascript
javascript记录文本框内文字个数检测文字个数变化
Oct 14 Javascript
jQuery scrollFix滚动定位插件
Apr 01 Javascript
jQuery实现鼠标经过事件的延时处理效果
Aug 20 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
Jan 17 Javascript
作为老司机使用 React 总结的 11 个经验教训
Apr 08 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
Jun 05 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
May 13 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扩展imagick
2014/06/02 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
softmax及python实现过程解析
2019/09/30 Python
python with语句的原理与用法详解
2020/03/30 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
python如何设置静态变量
2020/09/07 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
心理健康日活动总结
2014/05/08 职场文书
房地产广告策划方案
2014/05/15 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书