PHP-希尔排序算法

Posted Dog软件工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-希尔排序算法相关的知识,希望对你有一定的参考价值。

<?php
//希尔排序(对直接插入排序的改进)
function ShellSort(array &$arr){ $count = count($arr); $inc = $count; //增量 do { //计算增量 //$inc = floor($inc / 3) + 1; $inc = ceil($inc / 2); for ($i = $inc; $i < $count; $i++) { $temp = $arr[$i]; //设置哨兵 //需将$temp插入有序增量子表 for ($j = $i - $inc; $j >= 0 && $arr[$j + $inc] < $arr[$j]; $j -= $inc) { $arr[$j + $inc] = $arr[$j]; //记录后移 } //插入 $arr[$j + $inc] = $temp; } //增量为1时停止循环 } while ($inc > 1);}
//$arr = array(9,1,5,8,3,7,4,6,2);$arr = array(49,38,65,97,76,13,27,49,55,04);ShellSort($arr);var_dump($arr);


以上是关于PHP-希尔排序算法的主要内容,如果未能解决你的问题,请参考以下文章

PHP数据结构-插入类排序:简单插入希尔排序

PHP数据结构插入类排序:简单插入希尔排序

PHP数据结构-插入类排序:简单插入希尔排序

PHP 插入排序 - 希尔排序

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

《算法》笔记 3 - 选择排序插入排序希尔排序