javascript顺序数组简单实现个二分查找
2024-10-21 16:39:28
直接上码了注释写得很详细:
function bsearch(A,x){
//l:查找范围左 r:查找范围右
let l = 0, //查询范围左边界
r = A.length-1, //查找范围右边界
guess //中间猜测位置
while(l <= r){
//guess等于l,r中间位置
guess = Math.floor( (l+r)/2 ) //判断当前位置是否为要查找的值,是则返回下标
if(A[guess] === x) return guess
//如果当前位置值大于要查询的值 右边界位置减一
else if(A[guess] > x) r = guess -1
//否则左边界位置加1
else l = guess + 1
}
//找不到返回-1
return -1
}
const a = [3,5,4,7,12,42,47,66,71,78];
console.log(bsearch(a,12))//
console.log(bsearch(a,4))//-1
console.log(bsearch(a,66))//
console.log(bsearch(a,5))//
最新文章
- SharePoint 2013 Search REST API 使用示例
- appium 环境搭建 java
- 写个PHP框架吧
- html5 摇一摇事件监听
- Scheduled Projects
- Thinking in Java——笔记(3)
- Linux的watch命令 — 实时监测命令的运行结果
- java中4中类修饰符访问范围
- Topcoder srm 632 div2
- Host Definition
- 解决iOS应用内购买报错:invalidProductIdentifiers
- ZOJ 2770	 Burn the Linked Camp(spfa&;&;bellman)
- selenium webDriver给隐藏域赋值 input hidden set value
- 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
- html和css的使用方法以及样式
- 遍历文件,读取.wxss文件,在头部添加一条注释
- 前后端分离开发之前端自己的API(DB)---- (1)
- (概率 01背包) Just another Robbery -- LightOJ -- 1079
- 【RF库XML测试】Add Element
- 洛谷 P4009 汽车加油行驶问题 解题报告
热门文章
- [Xcode 实际操作]八、网络与多线程-(17)使用网址会话对象URLSession向远程服务器上传图片
- PJzhang:国内常用威胁情报搜索引擎说明
- java基础第二篇
- SqlServer 分页批按时间排序
- [Python]IndentationError: unindent does not match any outer indentation level
- ZOJ3329(数学推导+期望递推)
- Curious Array Codeforces - 407C(高阶差分(?)) || sequence
- 命令行视频下载工具 you-get 和 youtube-dl
- freertos之资源管理学习
- 本地连接远程Oracle数据库