JavaScript用二分法查找数据的实例代码
JavaScript二分查找法与排序算法实例
今天,我将为大家分享一段关于JavaScript二分查找法的实例代码,并附带排序算法的相关内容。这些内容对于长沙网络推广来说是非常实用的,希望能够对大家的学习有所帮助。
让我们来看一下二分查找法的实例。二分查找法是一种在有序数组中查找特定元素的搜索算法。它的基本原理是将数组分为两部分,比较中间元素与目标值的大小,然后缩小搜索范围。接下来是一段关于二分查找的JavaScript代码实例:
```javascript
var arr = [41, 43, 45, 53, 44, 95, 23]; // 待查找的数组
var b = 44; // 要查找的元素
// 先进行冒泡排序
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < arr.length - i; j++) {
if (arr[j] < arr[j + 1]) {
var z = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = z;
}
}
}
// 二分查找法查找元素位置
while (true) {
var zjs = Math.floor((min + max) / 2); // 使用Math.floor进行向下取整
if (zjs === min) { // 当只剩下一个元素时,直接判断该元素是否为目标值
if (b === arr[zjs]) {
alert(zjs); // 找到目标值的位置,弹出提示框显示位置索引
break; // 结束循环
} else {
alert('未找到目标值'); // 未找到目标值,弹出提示框提示用户未找到目标值并结束程序运行。注意这里的代码需要判断应该添加到未找到元素时结束循环的判断逻辑里还是放到下一部分里(二分法剩余未匹配情况处理中)以更符合业务逻辑和编程习惯的要求。 } } if (b === arr[zjs]) { // 如果找到目标值 alert出该值的位置并跳出循环} else if (b > arr[zjs]) {min = zjs + 1;} else {max = zjs;} // 更新搜索范围 } // 二分法剩余未匹配情况处理中(此处略去具体代码实现细节)接着我们来介绍一个简单的示例,如何用JavaScript数组求总分、最高分和最低分: var arr = new Array(80, 70, 86, 58, 90, 35, 89, 67, 50, 100); // 定义包含多个分数的数组 var sum = 0; // 总分 var maxd = -Infinity; // 最高分 var mind = Infinity; // 最低分 for (var i = 0; i < arr.length; i++) { sum += arr[i]; if (arr[i] > maxd) { maxd = arr[i]; } if (arr[i] < mind) { mind = arr[i]; } } alert(sum); // 总分 alert(maxd); // 最高分 alert(mind); // 最低分最后我们介绍如何往数组添加一个不重复的数。这个示例的目的是通过用户输入一个数,如果这个数不在数组中,就将其添加到数组中。代码如下: var a = parseInt(prompt("请输入一个数")); var arr = [1, 2, 3, 4, 5]; var x = false; for (var i = 0; i < arr.length; i++) { if (a === arr[i]) { x = true; break; }} if (!x) { arr.push(a);} alert("添加后的数组长度为:" + arr.length); 这段代码首先通过prompt函数获取用户输入的数,然后遍历数组判断该数是否已经存在于数组中。如果不存在,则将该数添加到数组的末尾。最后通过alert函数提示用户添加后的数组长度。以上就是关于JavaScript二分查找法和排序算法的简单介绍和示例代码。希望这些内容能够帮助大家更好地理解这些算法的实现原理和应用场景。同时希望大家能够多多实践通过不断地编写代码来加深对算法的理解和应用能力。通过实践你会发现编程不仅仅是理论知识的积累更重要的是不断积累经验和提升解决问题的能力。在编程的过程中我们还需要注意一些细节问题比如变量的定义和使用以及代码的格式规范等等这些都是提高代码质量和可读性的重要因素。最后感谢大家的阅读和支持希望这篇文章能够为大家的学习和实践带来帮助。以上内容仅供参考如有不足之处请多多指正谢谢!本文首发于狼蚁SEO如有转载请注明出处。版权声明:本文为狼蚁SEO原创文章版权归狼蚁SEO所有未经许可不得转载和使用本文内容。免责声明:本文章中提供的代码仅供参考和学习使用如有任何损失由使用者自行
编程语言
- JavaScript用二分法查找数据的实例代码
- js实现发送验证码后的倒计时功能
- ASP.NET MVC4入门教程(四):添加一个模型
- thinkPHP实现将excel导入到数据库中的方法
- jquery easyui如何实现格式化列
- php笔记之:初探PHPcms模块开发介绍
- Vue 子组件与数据传递问题及注意事项
- 2分法分页存储过程脚本实例
- php实现httpclient类示例
- AngularJS 入门教程之HTML DOM实例详解
- 深入Nginx + PHP 缓存详解
- jQuery中图片展示插件highslide.js的简单dom
- 最全面的百度地图JavaScript离线版开发
- javascript 注释代码的几种方法总结
- 基于PHP静态类的原罪详解
- PHP调用wsdl文件类型的接口代码分享