<?phpfunction QuickSort_Partition($array, $low, $high)
{
    $temp = $array[$low];
    
    while($low<$high)
    {
        while($low<$high && $array[$high]>=$temp)
            $high--;
        $array[$low] = $array[$high];
        
        while($low<$high && $array[$low]<=$temp)
            $low++;
        $array[$high] = $array[$low];
    }
    $array[$low] = $temp;
    return $low;
}
function QuickSort($array, $low, $high)
{
    $mid = QuickSort_Partition($array, $low, $high);
    QuickSort($array, 0, $mid-1);
    QuickSort($array, $mid+1, $high);
}$Quick_Mat = array(3, 4, 2, 87, 4, 53, 43);
QuickSort($Quick_Mat, 0, count($Quick_Mat)-1);
echo "Quick Sort Result:<br />";
for($ii=0; $ii<count($Quick_Mat); $ii++)
        echo $Quick_Mat[$ii]." ";
echo "<br />";
?>运行该代码,总是提示无法连接到网站,请高手指教!谢谢

解决方案 »

  1.   

    这个跟排序没关系吧? web服务打开了没有?
      

  2.   

    懒得看了,给个现成的;
    function QuickSort($arr){ 
    $num = count($arr); 
    $l=$r=0; 
    for($i=1;$i<$num;$i++){ 
    if($arr[$i] < $arr[0]){ 
    $left[] = $arr[$i]; 
    $l++; 
    }else{ 
    $right[] = $arr[$i]; 
    $r++; 


    if($l > 1){ 
    $left = QuickSort($left); 

    $new_arr = $left; 
    $new_arr[] = $arr[0]; 
    if($r > 1){ 
    $right = QuickSort($right); 

    for($i=0;$i<$r;$i++){ 
    $new_arr[] = $right[$i]; 

    return $new_arr; 

    $arr = array(7,1,6,5,2); 
    $arr_new = QuickSort($arr); 
    print_r($arr_new);
      

  3.   

    web服务器是打开的。并能够正常的解析php代码
    谢谢2楼,我只是想知道这个怎么错了
      

  4.   

    你把提示错误打开,调试一下就出来了。 把php中的display_errors打开
      

  5.   

    function QuickSort($array, $low, $high)
    {
      $mid = QuickSort_Partition($array, $low, $high);
      QuickSort($array, 0, $mid-1);
      QuickSort($array, $mid+1, $high);
    }
    这个功能函数第3,4行加上对$mid判断再加以引用应该可以解决死循环。