当前位置:Gxlcms > PHP教程 > PHP实现用迭代实现数组的快速排序

PHP实现用迭代实现数组的快速排序

时间:2021-07-01 10:21:17 帮助过:27人阅读

  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

人气教程排行