PHP如何迭代实现数组快速排序的迭代版本?
- 内容介绍
- 文章标签
- 相关推荐
本文共计119个文字,预计阅读时间需要1分钟。
phpfunction quicksortX($seq) { $stack=array($seq); $sort=array(); while ($stack) { $arr=array_pop($stack); if (count($arr)==1) { if (count($arr)==1) { $sort[]=$arr[0]; } continue; } $k=$arr[0]; $x=array(); $y=array(); $size=count($arr); }}
function quicksortX(&$seq) { $stack = array($seq); $sort = array(); while ($stack) { $arr = array_pop($stack); if(count($arr) <= 1){ if (count($arr) == 1) { $sort[] = &$arr[0]; } continue; } $k = $arr[0]; $x = array(); $y = array(); $_size = count($arr); for ($i = 1; $i < $_size; $i++) { if ($arr[$i] <= $k) { $x[] = &$arr[$i]; } else { $y[] = &$arr[$i]; } } !empty($y) && array_push($stack, $y); array_push($stack, array($arr[0])); !empty($x) && array_push($stack, $x); } return $sort; }
本文共计119个文字,预计阅读时间需要1分钟。
phpfunction quicksortX($seq) { $stack=array($seq); $sort=array(); while ($stack) { $arr=array_pop($stack); if (count($arr)==1) { if (count($arr)==1) { $sort[]=$arr[0]; } continue; } $k=$arr[0]; $x=array(); $y=array(); $size=count($arr); }}
function quicksortX(&$seq) { $stack = array($seq); $sort = array(); while ($stack) { $arr = array_pop($stack); if(count($arr) <= 1){ if (count($arr) == 1) { $sort[] = &$arr[0]; } continue; } $k = $arr[0]; $x = array(); $y = array(); $_size = count($arr); for ($i = 1; $i < $_size; $i++) { if ($arr[$i] <= $k) { $x[] = &$arr[$i]; } else { $y[] = &$arr[$i]; } } !empty($y) && array_push($stack, $y); array_push($stack, array($arr[0])); !empty($x) && array_push($stack, $x); } return $sort; }

