下面的调整检索范围 value是一个字符串items[middle]是一个数字这两个是怎么做的比较????function binarySearch(items, value){ var startIndex = 0, stopIndex = items.length - 1, middle = Math.floor((stopIndex + startIndex)/2); while(items[middle] != value && startIndex < stopIndex){ //调整检索范围 if (value < items[middle]){ stopIndex = middle - 1; } else if (value > items[middle]){ startIndex = middle + 1; } //重新计算中间值 middle = Math.floor((stopIndex + startIndex)/2); } //判断是否找到要搜索的值 return (items[middle] != value) ? -1 : middle; } var items = ["a","b","c","d","e","f","g","h","i","j"]; console.log(binarySearch(items, "i")); //8 console.log(binarySearch(items, "b")); //1
添加回答
举报
0/150
提交
取消