C1任务04-计算机程序逻辑
2021/8/1 17:35:59
本文主要是介绍C1任务04-计算机程序逻辑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
任务一和扩展:参考这篇 C1任务04
参考了上面这篇之后,发现最后一题有一个小bug,于是修改得到如下
var array = [8, 7, 12, 1,5, 0, 6, 9, 2]; var key = 6; //假设要查找的是6 array.sort((a, b) => { return a - b; }); //js中的sort写回调函数,不然就是按照字符编码来比大小了 var result = binarySearch(array, key); if (-1 === result) { console.log("未查找到" + key); } else { console.log("查找到" + key + "在array排序后索引位置为:" + result); } //函数二分查找,找到返回索引,未找到返回-1 function binarySearch(array, key) { var index = -1; var start = 0; var end = array.length - 1; var middle = Math.floor((end + start) / 2); while (start !== end) { if (key < array[middle]) { end = middle - 1; middle = Math.floor((end + start) / 2); continue } if (key > array[middle]) { start = middle + 1; if (key === array[middle + 1]) { return middle + 1 } middle = Math.floor((end + start) / 2); continue } if (key === array[middle]) { return middle; } } return index; }
输出效果:
这篇关于C1任务04-计算机程序逻辑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享
- 2024-12-24uniapp 连接之后会被立马断开是什么原因?-icode9专业技术文章分享
- 2024-12-24cdn 路径可以指定规则映射吗?-icode9专业技术文章分享
- 2024-12-24CAP:Serverless?+AI?让应用开发更简单
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享