Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php实现二维数组快速排序算法的示例

php实现二维数组快速排序算法的示例

黄舟
黄舟asal
2017-10-18 09:09:561958semak imbas

这篇文章主要介绍了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));

Atas ialah kandungan terperinci php实现二维数组快速排序算法的示例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn