php 二维数组快速排序算法的实现代码

这篇文章主要介绍了php 二维数组快速排序算法的实现代码的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下

php 二维数组快速排序算法的实现代码

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

实例代码:

  1. <?php
  2. class Bubble {
  3. private function __construct() {
  4. }
  5. private static function sortt($data) {
  6. if (count ( $data ) <= 1) {
  7. return $data;
  8. }
  9. $tem = $data [0]['score'];
  10. $leftarray = array ();
  11. $rightarray = array ();
  12. for($i = 1; $i < count ( $data ); $i ++) {
  13. if ($data [$i]['score'] <= $tem ) {
  14. $leftarray[] = $data[$i];
  15. } else {
  16. $rightarray[] = $data[$i];
  17. }
  18. }
  19. $leftarray=self::sortt($leftarray);
  20. $rightarray=self::sortt($rightarray);
  21. $sortarray = array_merge ( $leftarray, array ($data[0]), $rightarray );
  22. return $sortarray;
  23. }
  24. public static function main($data) {
  25. $ardata = self::sortt ( $data );
  26. return $ardata;
  27. }
  28. }
  29. $arr=array(
  30. array('sid'=>1,'score'=>76),
  31. array('sid'=>2,'score'=>93),
  32. array('sid'=>3,'score'=>68.5),
  33. array('sid'=>4,'score'=>82.5),
  34. array('sid'=>5,'score'=>60.5)
  35. );
  36. print_r(Bubble::main($arr));