冒泡排序与二分法

Posted gaojunshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序与二分法相关的知识,希望对你有一定的参考价值。

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

  }

 

以上是关于冒泡排序与二分法的主要内容,如果未能解决你的问题,请参考以下文章

冒泡排序与二分法

搜索与排序—— 冒泡排序选择排序插入排序与希尔排序

python实现二分查找与冒泡排序

基础算法-冒泡排序与二分查找(JAVA实现)

冒泡选择排序,与二分法查找 全网最详细!!!!!

二分法查找,冒泡排序,递归函数