>  기사  >  php教程  >  php 二维数组快速排序算法

php 二维数组快速排序算法

WBOY
WBOY원래의
2016-06-13 09:37:351075검색

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

<?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으로 문의하세요.