php 算法(冒泡排序)
php 算法(冒泡排序)
//冒泡排序(从小到大) (从大到小改变for循环中的大于号为小于号即可)
public function index(){
$arr = array(1,8,3,0,2,9,7);//自定义数组或者直接从数据库获取
$len = count($arr);//计算数组长度
for($i=1;$i<=$len;$i++){//循环次数。比如数组中有8个元素,需要循环8次
//比较次数(8个数比较大小,需要比较7次)
for($k=0;$k<=$len-$i;$k++){//如果第一个for循环$i=0,$k<=$len-$i-1;
if($arr[$k]>$arr[$k+1]){//$arr[$k]值大于$arr[$k+1]。调换两数的位置
$tmp = $arr[$k+1];//$tmp 临时变量存放两数比较后较小的值。此时$arr[$k+1]为空
$arr[$k+1]=$arr[$k];//把较大的数赋值给$arr[$k+1]。此时$arr[$k]为空
$arr[$k]=$tmp;//把$tmp变量中的较小值赋值给$arr[$k]。至此完成比较两数的位置调换。也就是小的在前,大的在后
}
}
}
return $arr;
}