Heim  >  Artikel  >  php教程  >  php 二维数组快速排序算法

php 二维数组快速排序算法

WBOY
WBOYOriginal
2016-06-13 09:37:351105Durchsuche

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn