首頁  >  文章  >  後端開發  >  php實作二維數組快速排序演算法的範例

php實作二維數組快速排序演算法的範例

黄舟
黄舟原創
2017-10-18 09:09:561924瀏覽

這篇文章主要介紹了php 二維數組快速排序演算法的實現代碼的相關資料,希望透過本文能幫助到大家,讓大家實現這樣的功能,需要的朋友可以參考下

php 二維數組快速排序演算法的實現代碼

二維數組排序演算法與一維數組排序演算法基本理論都是一樣,都是透過比較把小的值放在左變的數組裡,大的值放在右邊的陣列裡在分別遞歸。

實例程式碼:


<?php 
class Bubble { 
  private function __construct() { 
  } 
  private static function sortt($data) { 
    if (count ( $data ) <= 1) { 
     return $data; 
    } 
    $tem = $data [0][&#39;score&#39;]; 
    $leftarray = array (); 
    $rightarray = array (); 
    for($i = 1; $i < count ( $data ); $i ++) { 
      if ($data [$i][&#39;score&#39;] <= $tem ) { 
        $leftarray[] = $data[$i]; 
      } else { 
        $rightarray[] = $data[$i]; 
      } 
    } 
    $leftarray=self::sortt($leftarray); 
    $rightarray=self::sortt($rightarray); 
    $sortarray = array_merge ( $leftarray, array ($data[0]), $rightarray ); 
    return $sortarray; 
  } 
  public static function main($data) { 
    $ardata = self::sortt ( $data ); 
    return $ardata; 
  } 
} 
 
$arr=array( 
  array(&#39;sid&#39;=>1,&#39;score&#39;=>76), 
  array(&#39;sid&#39;=>2,&#39;score&#39;=>93), 
  array(&#39;sid&#39;=>3,&#39;score&#39;=>68.5), 
  array(&#39;sid&#39;=>4,&#39;score&#39;=>82.5), 
  array(&#39;sid&#39;=>5,&#39;score&#39;=>60.5) 
); 
print_r(Bubble::main($arr));

以上是php實作二維數組快速排序演算法的範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn