$arr=array(4,1,9,2,3);function quick($arr){ if ( count($arr)<=1) { return $arr; } for ($i=1; $i < count($arr); $i++) { if ($arr[0]<$arr[$i]) { $right[]=$arr[$i]; }else{ $left[]=$arr[$i]; } } $right1=quick($right); $left1=quick($left); return array_merge($left1,array($arr[0]),$right1);}var_dump(quick($arr));
各位朋友好,小弟用php实现一个快速排序的问题。最后得出的的结果始终是null,百思不得其解。请开导,谢谢!
回复讨论(解决方案) $arr=array(4,1,9,2,3);print_r(quick($arr));function quick($arr){ if ( count($arr)<=1) { return $arr; } $left = array(); $righe = array(); for ($i=1; $i 2 [2] => 3 [3] => 4 [4] => 9)
自己看看区别在哪里
如果 $left 和 $right 没有初值的话
你想想会是什么结果