希尔排序

来源:互联网 发布:九世犹可以复仇乎 编辑:程序博客网 时间:2024/05/28 18:44
希尔排序   (shell sort)— O(n log n)$data = array(6,13,21,99,18,2,25,33,19,84);$nums = count($data);dump( $data );ShellSort($data,$nums);dump( $data );function ShellSort(& $arr,$n ){for( $increment = intval($n/2); $increment > 0; $increment = intval($increment/2) ){   for( $i=$increment; $i<$n; $i++ )   {    $tmp = $arr[$i];    for( $j = $i; $j>= $increment; $j -= $increment )     if( $tmp < $arr[ $j-$increment ] )      $arr[$j] = $arr[$j-$increment];     else      break;      $arr[$j] = $tmp;   }}}function dump( $d ){echo '<pre>';print_r($d);echo '</pre>';}

0 0