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的图片懒加载js
Jun 30 Javascript
js如何取消事件冒泡
Sep 23 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
js利用prototype调用Array的slice方法示例
Jun 09 Javascript
js实现的简单radio背景颜色选择器代码
Aug 18 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
深入理解(function(){... })();
Aug 16 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
AngularJS指令用法详解
Nov 02 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
利用Angular7开发一个Radio组件的全过程
Jul 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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
php操作xml
2013/10/27 PHP
php调用C代码的实现方法
2014/03/11 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JS中表单的使用小结
2014/01/11 Javascript
jquery validate demo 基础
2015/10/29 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
详解python中list的使用
2019/03/15 Python
python单例模式的多种实现方法
2019/07/26 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
详解python内置模块urllib
2020/09/09 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
电子商务求职信
2014/06/15 职场文书
2015暑假假期总结
2015/07/13 职场文书
婚宴领导致辞
2015/07/28 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis