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 读取图片文件的大小
Jun 25 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
JS获取节点的兄弟,父级,子级元素的方法
Jan 09 Javascript
js读取配置文件自写
Feb 11 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
Jul 04 Javascript
Javascript核心读书有感之词法结构
Feb 01 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
js+html制作简单验证码
Feb 16 Javascript
详解Node.js开发中的express-session
May 19 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
Sep 14 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
linux中cd命令使用详解
2015/01/08 PHP
使用URL传输SESSION信息
2015/07/14 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
python构建自定义回调函数详解
2017/06/20 Python
python之Character string(实例讲解)
2017/09/25 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
Django 路由系统URLconf的使用
2018/10/11 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
Python如何对XML 解析
2020/06/28 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
关于VPN
2012/06/10 面试题
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
节水倡议书范文
2014/04/15 职场文书
暑假学习心得体会
2014/09/02 职场文书
小学优秀教师材料
2014/12/15 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书