在操作数组时,经常需要对数组元素进行排序。比较常见的的排序算法——冒泡排序。在整个不断地比较数组中的相邻的连个元素,较小者向上浮,较大者往下沉,整个过程和水中的气泡上升原理相识。
冒泡排序的整个过程如下:
第一步:从第一个元素开始,将相邻的两个元素进行比较,知道最后两个元素完成比较。如果前一个元素比后一个元素打,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。
第二步:除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一个步相识,这样就可以将数组中第二大的数放在了倒数第二个位置。
第三步:依次类推,持续对元素进行两两比较,知道没有任何一个元素需要比较为止。
案例
<?php
//把冒泡排序封装成函数
function bubbleSort($arr){
$temp=0; //这是一个中间变量
$len=count($arr); //计算数组的长度
for($i=0; $i<$len-1; $i++){ //把数组从小到大进行排序
for($j=0;$j<$len-1-$i; $j++){
if($arr[$j]>$arr[$j+1]){ //如果前面的数比后面的数大,就进行交换
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
return $arr;
}
$arr=array(9,8,3,6,2);
echo "<pre>";
print_r(bubbleSort($arr));
echo "</pre>";
?>
运行结果
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。