PHP 堆排序算法
(2011-12-31 13:26:50)
标签:
php堆排序it |
分类: php那些事 |
src:http://www.phpzy.com/php/61567.html
本文以PHP作为描述语言较详细讲解堆排序原理
因保证程序可读性,故不做优化.
php程序中关于堆的一些概念:
假设n为当前数组的key则
n的父节点为 n>>1 或者 n/2(整除);
n的左子节点l= n<<1 或
l=n*2,n的右子节点r=(n<<1)+1 或 r=l+1
$arr=array(1,8,7,2,3,4,6,5,9);
数组$arr的原形态结构如下:
*/
heapSort($arr);
print_r($arr);
$arr=array(1,8,7,2,3,4,6,5,9);
heapSort($arr);
print_r($arr);
function heapSort(&$arr)
{

加载中…