php 二维数组快速排序算法的实现代码
这篇文章主要介绍了php 二维数组快速排序算法的实现代码的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
php 二维数组快速排序算法的实现代码
二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归。
实例代码:
- <?php
- class Bubble {
- private function __construct() {
- }
- private static function sortt($data) {
- if (count ( $data ) <= 1) {
- return $data;
- }
- $tem = $data [0]['score'];
- $leftarray = array ();
- $rightarray = array ();
- for($i = 1; $i < count ( $data ); $i ++) {
- if ($data [$i]['score'] <= $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('sid'=>1,'score'=>76),
- array('sid'=>2,'score'=>93),
- array('sid'=>3,'score'=>68.5),
- array('sid'=>4,'score'=>82.5),
- array('sid'=>5,'score'=>60.5)
- );
- print_r(Bubble::main($arr));