php实现希尔排序
2016-05-02 21:35
731 查看
$arr = [9, 43, 12, 0, 87, 1]; function shell_sort(&$arr){ $gap = count($arr) -1; $max = count($arr) -1; do{ $gap = $gap/2; for($i = 0; $i <= $max - $gap; $i++){ for($j = $i; $j <= $max - $gap; $j += $gap){ if($arr[$j] < $arr[$j + $gap]){ swap($arr, $j, $j + $gap); } } } }while($gap > 1); } shell_sort($arr); var_export($arr);
相关文章推荐