// 希尔排序 function shell_sort(array $arr) { // 将$arr按升序排列 $len = count($arr); $f = 3; // 定义因子 $h = 1; // 最小为1 while ($h < $len / $f) { $h = $f * $h + 1; // 1, 4, 13, 40, 121, 364, 1093, ... } while ($h >= 1) {// 将数组变为h有序 for ($i = $h; $i < $len; $i++) {// 将a[i]插入到a[i-h], a[i-2*h], a[i-3*h]... 之中 (算法的关键 for ($j = $i; $j >= $h; $j -= $h) { if ($arr[$j] < $arr[$j - $h]) { $temp = $arr[$j]; $arr[$j] = $arr[$j - $h]; $arr[$j - $h] = $temp; } //print_r($arr);echo '<br/>'; // 打开这行注释,可以看到每一步被替换的情形 } } $h = intval($h / $f); } return $arr; }
一片空白 5.8万
父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌。