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 相关文章推荐
js 设置选中行的样式的实现代码
May 24 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
Jun 30 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
jQuery大于号(&gt;)选择器的作用解释
Jan 13 Javascript
AngularJS 自定义过滤器详解及实例代码
Sep 14 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
mui 打开新窗口的方式总结及注意事项
Aug 20 Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
vue代理和跨域问题的解决
Jul 18 Javascript
JS实现图片懒加载(lazyload)过程详解
Apr 02 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 Javascript
Vue + ts实现轮播插件的示例
Nov 10 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 上传功能实例代码
2010/04/13 PHP
php的一些小问题
2010/07/03 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
浅析PHP Socket技术
2013/08/02 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php比较相似字符串的方法
2015/06/05 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
人事部主管岗位职责
2013/12/26 职场文书
节约用水标语
2014/06/11 职场文书
公司处罚决定书
2015/06/24 职场文书
社会实践心得体会范文
2016/01/14 职场文书
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL
OpenFeign实现远程调用
2022/08/14 Java/Android