zoukankan      html  css  js  c++  java
  • js冒泡排序与二分法查找

    冒泡排序

    var attr=[1,5,7,6,3,9,2,8,4];

    var zj=0;
    //控制比较轮数
    for(var i=0;i<attr.length-1;i++)
    {
        //控制每轮的比较次数
        for(var l=0;l<attr.length-1-i;l++)
      {
              // 与下一个比较
        if(attr[l]<attr[l+1])
        {
                     //互换 
           zj=attr[l];
           attr[l]=attr[l+1];
           attr[l+1]=zj;
        }
      }
    }   
    alert(attr[0])
    View Code

    二分法查找

    //必须先排好序

    var attr=[1,2,3,4,5,6,7,8,9];

    //要找的值

    var v=6;

    //取最大索引与最小索引的平均值与查询值比较,排除掉索引大的或索引小的,然后在剩下的索引里面再次判断,直到找到一致的。

    var min=0;
    var max=attr.length-1;
    var zj;
    while(true)
    {
        //计算中间索引
        zj=parseInt((min+max)/2);
        //比较中间值与传入值
        if(attr[zj]==v)
        {
            break;
        }
         if(zj==min)
        {
            if(attr[zj+1]==v)
            {
                zj=zj+1;
                break;
            }
            else
            {
                zj-1;
                break;
            }
        }
        if(attr[zj]>v)
        {
            max=zj;
        }
        {
            min=zj;
        }
    }
    alert(zj);
    View Code
  • 相关阅读:
    asp.net 启动关闭iis
    vue 界面关闭触发事件 ---实例销毁之前调用
    ElmentUI 设置禁止点击遮罩关闭 el-dialog 弹窗
    C#反射
    SQL Server 创建游标(cursor)
    文件解压缩
    文件流操作
    Linq查询
    C#线程 多线程 进程
    匿名类型和反射
  • 原文地址:https://www.cnblogs.com/bilibiliganbei/p/5885029.html
Copyright © 2011-2022 走看看