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 相关文章推荐
jQuery之ajax技术的详细介绍
Jun 19 Javascript
如何用JavaScript定义一个类
Sep 12 Javascript
express的中间件basicAuth详解
Dec 04 Javascript
jQuery使用height()获取高度需要注意的地方
Dec 13 Javascript
jQuery中DOM树操作之复制元素的方法
Jan 23 Javascript
js事件监听器用法实例详解
Jun 01 Javascript
js实现鼠标点击左上角滑动菜单效果代码
Sep 06 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
angular2 组件之间通过service互相传递的实例
Sep 30 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
Dec 12 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
Jan 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
php实现将Session写入数据库
2015/07/26 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
用python找出那些被“标记”的照片
2017/04/20 Python
django 多数据库配置教程
2018/05/30 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
详解python tkinter 图片插入问题
2020/09/03 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
司机岗位职责
2013/11/15 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
咖啡馆创业计划书
2014/01/26 职场文书
新学期开学标语
2014/06/30 职场文书
住房抵押登记委托书
2014/09/27 职场文书
门卫管理制度范本
2015/08/05 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python