PHP实现快速排序算法

2019PHP高薪工程师学习路线图....>>>

<?php

function quicksort($seq) {

  if (count($seq) > 1) {

    $k = $seq[0];

    $x = array();

    $y = array();

    for ($i=1; $i<count($seq); $i++) {

      if ($seq[$i] <= $k) {

        $x[] = $seq[$i];

      } else {

        $y[] = $seq[$i];

      }

    }

    $x = quicksort($x);

    $y = quicksort($y);

    return array_merge($x, array($k), $y);

  } else {

    return $seq;

  }

}

 

$arr = array(12,2,16,30,8,28,4,10,20,6,18);

print_r(quicksort($arr));

?>