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