【发布时间】:2013-03-07 14:38:22
【问题描述】:
<?php
// Recursive version:
function quicksort($seq) {
if(!count($seq)) return $seq;
$pivot= $seq[0];
$low = $high = array();
$length = count($seq);
for($i=1; $i < $length; $i++) {
if($seq[$i] <= $pivot) {
$low [] = $seq[$i];
} else {
$high[] = $seq[$i];
}
}
return array_merge(quicksort($low), array($pivot), quicksort($high));
}
//Let's try some examples
$myarr = array(25,5,3,4,17,1,88,8);
$final = quicksort($myarr);
print_r($final);
$final = quicksort($final);
print_r($final);
$strarray = array("mark","wes","mj","bruce","ming","lance","vince");
var_dump(quicksort($strarray));
?>
我是 php 新手,我想知道如何使这个循环超过 100 次。我有一个数组 2500 int 元素,我需要对其进行快速排序并显示结果,但是在 100 个元素之后它开始给出循环最大错误............知道吗?
【问题讨论】:
-
您只是在尝试编写快速排序算法,或者您打算在未来使用此功能?如果是第二个,则:sort() 使用 » Quicksort 的实现。
-
@viakondratiuk 我只是想对快速排序进行编程,这样我就可以为我正在做的课程计时。
标签: php for-loop while-loop