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 相关文章推荐
用JTrackBar实现的模拟苹果风格的滚动条
Aug 06 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
让JavaScript和其它资源并发下载的方法
Oct 16 Javascript
jquery插件ajaxupload实现文件上传操作
Dec 09 Javascript
js遍历json的key和value的实例
Jan 22 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
Feb 22 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 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
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php轻松实现文件上传功能
2016/03/03 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
django框架两个使用模板实例
2019/12/11 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
python 获取计算机的网卡信息
2021/02/18 Python
学生会个人自荐书范文
2014/02/12 职场文书
法制报告会主持词
2014/04/02 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
班主任自我评价范文
2015/03/11 职场文书
营运督导岗位职责
2015/04/10 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers