首页  >  文章  >  php教程  >  php 二维数组快速排序算法

php 二维数组快速排序算法

WBOY
WBOY原创
2016-06-13 09:37:351093浏览

二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归。

<?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));

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn