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;}

      }

  • 相关阅读:
    Jquery Mobile事件
    Jquery Mobile表单
    Jquery Mobile列表
    Jquery Mobile基本元素
    媒体查询
    JS模块化开发(四)——构建工具gulp
    JS模块化开发(三)——seaJs+grunt
    JS模块化开发(二)——构建工具grunt
    原生JS和JQ窗口定位属性对照表
    localstorage在safri下的坑
  • 原文地址:https://www.cnblogs.com/gaojunshan/p/5885782.html
Copyright © 2011-2022 走看看