JavaScript用二分法查找数据的实例代码

作者:superficial。 时间:2024-11-21 11:01:16 

 整理文档,搜刮出一个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)

二分法查找数据之前没有接触过类似的题,思路想不出,老师讲完以后还是似懂非懂的样子,自己敲出以后才感觉是懂了,冒泡排序看着挺容易的,但是到了自己去亲自敲代码的时候,自己又出错,不能总是比着葫芦画瓢,应该有自己的理解,为什么要这么敲,多多敲敲代码,避免以后再出类似的小错误,自己定义的变量要记住,前后呼应起来,不能定义的时候用的一个,用的时候又是另一个,还有分号记得加,花括号记得加。

来源:http://www.cnblogs.com/gaofangquan/p/7029260.html?utm_source=tuicool&utm_medium=referral

标签:JavaScript,二分法,查找
0
投稿

猜你喜欢

  • 浅谈python函数之作用域(python3.5)

    2021-09-22 05:49:42
  • Python初学者必备的文件读写指南

    2023-03-16 11:44:15
  • php中替换字符串函数strtr()和str_repalce()的用法与区别

    2023-11-17 06:12:53
  • python使用paramiko执行服务器脚本并拿到实时结果

    2021-06-02 17:54:29
  • python中Apriori算法实现讲解

    2023-10-27 17:41:20
  • 基于Python实现语音合成小工具

    2023-01-13 15:25:38
  • mysql中TIMESTAMPDIFF案例详解

    2024-01-18 05:56:49
  • Python入门教程(十三)Python元组

    2023-10-28 08:42:24
  • Python手绘可视化工具cutecharts使用实例

    2022-12-25 07:27:54
  • python tkinter canvas使用实例

    2021-07-11 23:49:50
  • numpy数组广播的机制

    2023-08-15 11:41:31
  • CSS隐藏文字的方法

    2008-10-03 12:08:00
  • python如何实现一个刷网页小程序

    2022-12-09 15:45:56
  • Python命令启动Web服务器实例详解

    2022-10-09 11:53:42
  • 简单讲解Python编程中namedtuple类的用法

    2022-05-30 23:32:18
  • python使用pyqt写带界面工具的示例代码

    2023-09-29 05:15:22
  • Go WaitGroup及Cond底层实现原理

    2024-02-18 23:05:03
  • php实现文章评论系统

    2024-05-13 09:53:40
  • js执行shell命令的几种方式(Node)

    2024-04-16 10:35:14
  • js记录点击某个按钮的次数-刷新次数为初始状态的实例

    2024-04-16 10:33:09
  • asp之家 网络编程 m.aspxhome.com