Home  >  Article  >  php教程  >  php 二维数组快速排序算法

php 二维数组快速排序算法

WBOY
WBOYOriginal
2016-06-13 09:37:351093browse

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn