0; $i = (int) ($i / 2)) { for ($j = $i; $j < $n; ++$j) { $temp = $list[$j]; for ($c = $j; $c >= $i && $list[$c - $i]->compare($temp, $order); $c -= $i) { $list[$c] = $list[$c - $i]; } $list[$c] = $temp; } } return $list; } }