您的位置:首页 > 编程语言 > PHP开发

希尔排序算法

2016-04-20 18:07 531 查看
/**

 * 希尔排序算法,

 * 希尔排序将数组按指定步长分隔成若干子序列,然后分别对子序列进行排序(在这是直接)

 */

function xier_sort($arr)

{

    $len = count($arr);

    $tmp;

    $h = (int) $len / 2;

    while ($h >= 1) {

        for ($i = $h; $i < $len; $i ++) {

            for ($j = $i; $j >= $h && ($arr[$j - $h] > $arr[$j]); $j --) {

                $tmp = $arr[$j - $h];

                $arr[$j - $h] = $arr[$j];

                $arr[$j] = $tmp;

            }

        }

        $h = (int) $h / 2;

    }

    return $arr;

}

print_r(xier_sort($arr));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 希尔排序