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

    var attr=[1,8,6,4,5,3,7,2,9]   //对数组进行排序,冒泡排序 //两个相邻的元素进行比较,满足条件互换//进行比较的轮数是数组的长度-1//控制比较的轮数

    for(var i=0;i<attr.length-1;i++)

    {//控制每轮比较的次数

       for(var j=0;j<attr.length-1-i;j++)

         {//如果下一元素>当前元素

             if (attr[j]<attr[j+1])

                {//互换

                   zj=attr[j];

                   attr[j]=attr[j+1];

                   attr[j+1]=zj;

                   }

            }

       }

    在数组里面查找数据

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

    //要查找的值

    var v=6;

    //循环遍历的方式

    var sy=-1;

    for (var i=0;i<attr.length;i++)

      { if(attr[i]==v)

          { sy=v; }

         if(sy=-1)

           {alert("没找到数据")}

          else

            {alert("该数据在数组里找到:"+sy)}

      }

    //二分法查找数据

    //最小索引

    var minsy=0;

    var maxsy=attr.length-1;

    var midsy;

    //循环比较

    while(true)

     {//计算中间索引

         midsy=pareinyt((minsy+maxsy)/2);

        //比较中间值与用户的值//判断中间索引的值是否等于用户要查的值

         if(attr[midsy]==v)

       //如果等于就退出循环,找到了数据

           {   break;       }

       //判断是否只剩下两个数据

          if(midsy=minsy)   

        //判断两个数据中的另一个是否用户查找的值

            { if(attr[midsy+1]==v)

        //找了值,就退出循环

                {midsy=midsy+1;break;}

               else

         //没找到,就退出循环

                 {  midsy=-1;break;}

              }

        //用来改范围

          if(attr[midsy]>v)

            {maxsy=midsy;}

          else

            {minsy=midsy;}

      }

  • 相关阅读:
    ObjectQuery查询及方法
    SQL系列(十三)—— 关于表的DDL
    SQL系列(十二)—— insert update delete
    Git Push 避免用户名和密码方法
    Git系列 —— github提交一个空目录
    Git系列 —— 记一次Mac上git push时总是403的错误
    Mysql系列(三)—— Mysql主从复制配置
    SQL系列(十一)—— 函数(function)
    SQL系列(十)—— 联结(join)
    动态代理(二)—— CGLIB代理原理
  • 原文地址:https://www.cnblogs.com/gaojunshan/p/5885782.html
Copyright © 2011-2022 走看看