zoukankan      html  css  js  c++  java
  • 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)
    

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

  • 相关阅读:
    Centos7更改网卡名为eth0
    Centos7部署Open-Falcon监控
    centos6.x一键15项系统优化(转自努力哥)
    运维题目(十三)
    运维题目(十二)
    Mongodb的学习整理(下)
    Centos7下yum安装mongodb
    浏览器缓存
    控制反转
    js setTimeOut()
  • 原文地址:https://www.cnblogs.com/gaofangquan/p/7029260.html
Copyright © 2011-2022 走看看