首頁 >後端開發 >php教程 >PHP實作用迭代實現數組的快速排序

PHP實作用迭代實現數組的快速排序

WBOY
WBOY原創
2016-07-25 08:45:27927瀏覽
  1. function quicksortX(&$seq)
  2. {
  3. $stack = array($seq);
  4. $sort = array();
  5. while ($stack) {
  6. $arr = array_pop($stack);
  7. if(count($arr) <= 1){
  8. if (count($arr) == 1) {
  9. $sort[] = &$arr[0];
  10. }
  11. continue;
  12. }
  13. $k = $arr[0];
  14. $x = array();
  15. $y = array();
  16. $_size = count($arr);
  17. for ($i = 1; $i < $_size; $i ) {
  18. if ($arr[$i] <= $k) {
  19. $x[] = &$arr[$i];
  20. } else {
  21. $y[] = &$arr[$i];
  22. }
  23. }
  24. !empty($y) && array_push($stack, $y);
  25. array_push($stack, array($arr[0]));
  26. !empty($x) && array_push($stack, $x);
  27. }
  28. return $sort;
  29. }
复制代码

迭代, PHP


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn