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 解析Json字符串的性能比较分析代码
Dec 16 Javascript
Jquery升级新版本后选择器的语法问题
Jun 02 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
详解js闭包
Sep 02 Javascript
jQuery之Deferred对象详解
Sep 04 Javascript
JS获取Table中td值的方法
Mar 19 Javascript
js实现简单的可切换选项卡效果
Apr 10 Javascript
js性能优化技巧
Nov 29 Javascript
BOM之navigator对象和用户代理检测
Feb 10 Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 Javascript
JavaScript变量提升和严格模式实例分析
Jan 27 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 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 一个页面执行时间类代码
2010/03/05 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
php header函数的常用http头设置
2015/06/25 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
详解python基础之while循环及if判断
2017/08/24 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python 穷举指定长度的密码例子
2020/04/02 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
影视艺术学院毕业生自荐信
2013/11/13 职场文书
销售实习自我鉴定
2013/12/07 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
2015年安全月活动总结
2015/03/26 职场文书
逃出克隆岛观后感
2015/06/09 职场文书