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 相关文章推荐
flexigrid 参数说明
Nov 23 Javascript
jQuery之ajax技术的详细介绍
Jun 19 Javascript
用js来获取上传的文件名纯粹是为了美化而用
Oct 23 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
Angular的事件和表单详解
Dec 26 Javascript
使用Vue构建可重用的分页组件
Mar 26 Javascript
JS实现区分中英文并统计字符个数的方法示例
Jun 09 Javascript
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
jquery插件实现轮播图效果
Oct 19 jQuery
基于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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Python选课系统开发程序
2016/09/02 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
PyTorch基本数据类型(一)
2019/05/22 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
校园活动策划书范文
2014/01/10 职场文书
电台实习生求职信
2014/02/25 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
商务经理岗位职责
2014/07/30 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python