JavaScript用二分法查找数据的实例代码


Posted in Javascript onJune 17, 2017

 整理文档,搜刮出一个JavaScript用二分法查找数据的实例代码,顺便做个笔记

//二分法查数据

 var arr=[41,43,45,53,44,95,23];

 var b=44;

 var min=0;

 var max=arr.length;

 for(var i=1;i<arr.length;i++){ //外层循环控制排序的次数

  for(var j=0;j<arr.length-i;j++){//内层循环控制循环的个数

    if(arr[j]<arr[j+1]){

    z=arr[j];

    arr[j]=arr[j+1];

    arr[j+1]=z;

    }

     }

     }

    // alert(arr[3])

  while(true){           //二分查数就是先把一组数据按顺序排好后,从中间将这一组数据一分为二,看想要查得数在哪个范围内,然后再一分为二,直到找

/* for(var i=0;i<arr.length;i++)*/  //这么写不对?              这个数为止

   var zjs=parseInt((min+max)/2); //因为(min+max)/2有可能为小数,所以加上一个整数强制转换

   if(zjs==min){    当要查找数的数组为一个偶数个数的数组的时候最后剩下的数的个数为2的时候,需要加个条件再给判断一下                 

     if(b=arr[zjs+1]){

       alert(zjs+1);

       break;

       }

       }

   if(b==arr[zjs]){

     alert(zjs)

     break;}

   else if(b>arr[zjs]){

    min=zjs; }

    else{max=zjs}}

10个成绩求总分,最高分,最低分

var arr = new Array(80,70,86,58,90,35,89,67,50,100);

  var sum = 0;

  var maxd = 0;

  var mind = 100;  //想要查最小数最好用满分最大数做可以比较的基数

  for(var i=0;i<arr.length;i++){

    sum = 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=7;

 var a=parseInt(prompt("请输入一个数"));

 var x=0;

 var arr=[1,2,3,4,5]

 for(var i=0;i<arr.length;i++){

   if(a==arr[i]){

     x=1;

     break;}}

    if(x==0){

      arr.push(a)}

      alert(arr.length)

二分法查找数据之前没有接触过类似的题,思路想不出,老师讲完以后还是似懂非懂的样子,自己敲出以后才感觉是懂了,冒泡排序看着挺容易的,但是到了自己去亲自敲代码的时候,自己又出错,不能总是比着葫芦画瓢,应该有自己的理解,为什么要这么敲,多多敲敲代码,避免以后再出类似的小错误,自己定义的变量要记住,前后呼应起来,不能定义的时候用的一个,用的时候又是另一个,还有分号记得加,花括号记得加。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
Date对象格式化函数代码
Jul 17 Javascript
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
jQuery监控文本框事件并作相应处理的方法
Apr 16 Javascript
浅谈在js传递参数中含加号(+)的处理方式
Oct 11 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
Jul 09 Javascript
封装微信小程序http拦截器过程解析
Aug 13 Javascript
解决layui页面按钮点击无反应,也不报错的问题
Sep 29 Javascript
JavaScript计算正方形面积
Nov 26 Javascript
React 实现车牌键盘的示例代码
Dec 20 Javascript
JavaScript实现简单进度条效果
Mar 25 Javascript
JS实现新建文件夹功能
Jun 17 #Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 #Javascript
JS实现商品筛选功能
Aug 19 #Javascript
node文件上传功能简易实现代码
Jun 16 #Javascript
详解webpack 多入口配置
Jun 16 #Javascript
requirejs + vue 项目搭建详解
Jun 16 #Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 #jQuery
You might like
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
python实现的解析crontab配置文件代码
2014/06/30 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
详解python读取image
2019/04/03 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
浅谈python 类方法/静态方法
2020/09/18 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
护理专业毕业生自荐信
2014/06/15 职场文书
简历自我评价优缺点
2015/03/11 职场文书
领导新年致辞2016
2015/07/29 职场文书
PHP正则表达式之RCEService回溯
2022/04/11 PHP