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 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
js为空或不是对象问题的快速解决方法
Dec 11 Javascript
js获取url参数代码实例分享(JS操作URL)
Dec 13 Javascript
jQuery中:checkbox选择器用法实例
Jan 03 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
jquery判断至少有一个checkbox被选中的方法
Jun 05 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
js获取当前周、上一周、下一周日期
Mar 19 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
Jul 13 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
layer弹出层扩展主题的方法
Sep 11 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数组是否为索引数组的实现方法
2013/06/13 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
js的一些常用方法小结
2011/06/29 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
python异步任务队列示例
2014/04/01 Python
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python批量修改交换机密码的示例
2020/09/22 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
村干部承诺书
2014/03/28 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
婚礼答谢词
2015/01/04 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL