zoukankan      html  css  js  c++  java
  • 折半排序 (稳定的排序)

    $arr=array('','7','9','11','2','5','13','10','14','12');
        $n=count($arr);
         for($i=2;$i<$n;$i++)
         {
               $low=1;$high=$i-1;
               $arr[0]=$arr[$i];
               while($low<=$high)
               {
                   $m=intval(($low+$high)/2);
                   if($arr[$m]>$arr[0])   
                       $high=$m-1;
                   else
                       $low=$m+1;
               }
               for($j=$i-1;$j>=$high+1;$j--)
               {
                     $arr[$j+1]=$arr[$j];
               }
               $arr[$high+1]=$arr[0];
         }
         print_r($arr);

  • 相关阅读:
    由一段代码说开去——set
    由一段代码说开去——list
    day 11
    day 16
    day 10
    day 13
    day 9
    day 18
    day 12
    day 14
  • 原文地址:https://www.cnblogs.com/cwl168/p/3804936.html
Copyright © 2011-2022 走看看