php的基本算法,php的四种基本算法

$arr = array(13,1,65,4,6,41,61,68);

$num = count($arr);

/**

* 冒泡排序

*/

for ($i=1; $i < $num ; $i++)

{

for ($j=0; $j < $num-$i ; $j++)

{

if($arr[$j] > $arr[$j+1])

{

$data = $arr[$j+1];

$arr[$j+1] = $arr[$j];

$arr[$j] = $data;

}

}

}

echo “

”;

print_r($arr);

/**

* 选择排序

*/

for ($i=0; $i < $num-1; $i++)

{

$p = $i;

for ($j=$i+1; $j

{

if($arr[$p] > $arr[$j])

{

$p = $j;

}

}

if($p != $i)

{

$data = $arr[$p];

$arr[$p] = $arr[$i];

$arr[$i] = $data;

}

}

echo “

”;

print_r($arr);

/**

* 插入排序

*/

for ($i=1; $i

{

$data = $arr[$i];

for ($j=$i-1; $j >=0; $j–)

{

if($data < $arr[$j])

{

$arr[$j+1] = $arr[$j];

$arr[$j] = $data;

}

}

}

echo “

”;

print_r($arr);

/**

* 快速排序

*/

if($num <= 1)

{

return $arr;

}

$base_num = $arr[0];

$left = array();

$right = array();

for ($i=1; $i < $num; $i++)

{

if($base_num > $arr[$i])

{

$left[] = $arr[$i];

}

else

{

$right[] = $arr[$i];

}

}

echo “

”;

print_r(array_merge($left,array($base_num),$right));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值