递归二分查找

背景:今天在复习数据结构,要用递归手写一个二分查找,在使用JS各种尝试后得到发下代码,记录一下。

二分查找,前提有从小到大有序的序列。

var a = [1,5,8,9,16,36,86,96,123,256,300]

function GetIndex(arr, l, h, k) {
    var m = parseInt((l+h)/2);
    if (k==arr[m]) { return m;}
    if (l >= h) {return -1;}
	if (k > arr[m]) { return GetIndex(arr,m+1,h,k);}
    return GetIndex(arr,l,m-1,k);
}

var b = GetIndex(a,0,a.length-1,123);
console.log("查找的元素所在的下标",b);

  

posted @ 2023-10-22 21:55  東玖零  阅读(3)  评论(0编辑  收藏  举报