javascript 折半查找字符在数组中的位置(有序列表)_Javascript教程-查字典教程网
javascript 折半查找字符在数组中的位置(有序列表)
javascript 折半查找字符在数组中的位置(有序列表)
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:/***折半查找字符在数组中的位置(有序列表)*@paramarray被检索的数组*@paramx要查找的字符*@type...

复制代码 代码如下:

/**

* 折半查找字符在数组中的位置(有序列表)

* @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教程学习
    编程开发子分类