首页 > 代码库 > php冒泡排序
php冒泡排序
<?php
/*
*@冒泡排序面试总结
*/
$arr = array(9,3,2,1,8,4,100,99,23,45,67,87,1234);
echo ‘<pre>‘;
print_r(SortAsc($arr));
echo ‘</pre>‘;
echo ‘<pre>‘;
print_r(SortDesc($arr));
echo ‘</pre>‘;
/*
*@冒泡排序
*@排序算法
*@从小到大排序
*@只支持一维数组
*/
function SortAsc($arr){
for($i=0;$i<count($arr);$i++){
for($j=count($arr)-1;$j>$i;$j--){
if($arr[$j] < ($arr[$j-1])){
$tmp=$arr[$j-1];//分解注释理解,把当前索引是7值23赋值临时变量备用
$arr[$j-1]=$arr[$j];//分解注释理解,把索引是当前8值是99放到8-1=7索引位置上,说白了就是把当前值网上移动一个位置
$arr[$j]=$tmp;//分解注释理解,把索引8放入临时变量的值23
}
}
}
return $arr;
}
/*
*@冒泡排序
*@排序算法
*@从大到小排序
*@只支持一维数组
*/
function SortDesc($arr){
for($i=0;$i<count($arr);$i++){
for($j=count($arr)-1;$j>$i;$j--){
if($arr[$j] > ($arr[$j-1])){
$tmp=$arr[$j-1];
$arr[$j-1]=$arr[$j];
$arr[$j]=$tmp;
}
}
}
return $arr;
}
php冒泡排序