PHP排序算法补充

来源:互联网 发布:胃炎口水 知乎 编辑:程序博客网 时间:2024/04/27 22:48

堆排序

function HeapAdjust(&$array,$i,$size){$root = $i ;$lchild = 2*$i+1;$rchild = 2*$i+2;if($root<=$size/2){if($lchild<=$size && $array[$lchild]>$array[$root]){$root=$lchild;}if($rchild<=$size && $array[$rchild]>$array[$root]){$root = $rchild;}if($root!=$i){$temp = $array[$root];$array[$root]=$array[$i];$array[$i]=$temp;HeapAdjust($array, $root, $size);}}}function HeapSort(&$array,$size){//$i = 0;for($i=$size/2;$i>=0;$i--){HeapAdjust($array, $i, $size);}for($i=$size;$i>=0;$i--){$temp = $array[0];$array[0]=$array[$i];$array[$i]=$temp;HeapAdjust($array, 0, $i-1);}}

另外补充快速排序以及插入排序过程图例如下:

InserSortPic



Section Sort



0 0