php 常用的冒泡法和遞迴排序等排序演算法代碼

來源:互聯網
上載者:User
關鍵字 網路程式設計 PHP教程

php 常用的排序冒泡和遞迴排序演算法代碼

冒泡排序演算法
function bubblesort($arr)
{
$n=count($arr);

for($i=0;$i<$n;$i++)
{
for($j=$i;$j<=$n-1;$j++)
{
if($arr[$i]>$arr[$j])
{
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;


}
}
}
return $arr;

}
 //直接插入排序
  function insertsort($arr)
  {
   $n=count($arr);
 & nbsp; for($i=1;$i<$n;++$i)
   {
    if($arr[$i]<$arr[$i-1])
       {
     $tmp=$arr[$i];
     $j=0;
        for($j=$i-1;$j>=0&&$tmp<$arr[$j];--$j)
          {
       $arr[$j+1]=$arr[$j];
        }
      $arr[$j+1]=$tmp;  
    }
     }
    return $arr;
  
   }簡單排序演算法
 
  function sim plesort($arr)
  {
 $tmp=0;
 $t=0;
 $n=count($arr);
 for($i=0;$i<$n;+ +$i)
 {
    $t=$i;
    for($j=$i+1;$j<$n;++$j)
      {
    if($arr[$t]>$arr[$j])
      {
       $t=$j;
       
       }
    }
   $tmp=$arr[$i];
   $arr[$i]=$arr[$t];
   $arr[$t]=$tmp;
 
  }
   
    return $arr;
    }快速排序演算法
f unction qsort($array)
{
$n=count($array);
if($n<=1){return $array;}

$key=$array[0];
$l=array();
$r=array();
分別進行遞迴排序,然後合成一個陣列
for($i=1;$i<$n;$i++)
{
if($array[$i]<=$key)
{
$l[]=$array[$i];
}
else
{
$r[]=$array[$i];
}
}
$l=qsort($l);
$r=qsort($r);
return array_merge($l,array($key),$r);

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.