递归二分查找
背景:今天在复习数据结构,要用递归手写一个二分查找,在使用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);