1.冒泡排序
$arr = array(5,2,6,2,3,1);
for($i=0;$i<count($arr);$i++){ for($j=count($arr);$j>$i;$j--){ if($arr[$i]>$arr[$j-1]){ $b = $arr[$i]; $arr[$i] = $arr[$j-1]; $arr[$j-1] = $b; } } }2.快速排序,
取一个值,比他大的放一边,小的放一边,再取一个值,同样对比。递归
function kspx($arr){
//快速排序 $num = count($arr); $jz = $arr[$num-1]; if($num<=1){ return $arr; }else{ $arrs = array(); $arrss = array(); for($i=0;$i<$num-1;$i++){ if($arr[$i]>$jz){ $arrs[] = $arr[$i]; }else{ $arrss[] = $arr[$i]; } } $x = array(); $d = array(); if($arrs){ $d = kspx($arrs); } if($arrss){ $x = kspx($arrss); } return array_merge($d,array($jz),$x); }} $arr = array(8,5,6,1,2,3,4,15,6,31,25,7); $res = kspx($arr); var_dump($res);3.不用第三个变量替换两个值
$a
=
"This is A"
;
// a变量原始值
$b
=
"This is B"
;
// b变量原始值
echo
'交换之前 $a 的值:'
.
$a
.
', $b 的值:'
.
$b
,
'<br>'
;
// 输出原始值
list(
$b
,
$a
) =
array
(
$a
,
$b
);
// list() 函数用数组中的元素为一组变量赋值。了解这个,相信其他的不用我多说了吧
echo
'交换之后 $a 的值:'
.
$a
.
', $b 的值:'
.
$b
,
'<br>'
;
// 输出结果值