PHP冒泡排序

来源:互联网 发布:华为杭州研究所知乎 编辑:程序博客网 时间:2024/05/18 00:17

1.冒泡排序:两两交换数值,最小的值在最左边,就如最轻的气泡在最上边。
2.对整列数两两交换一次,最小的数在最左边,每次都能得一个在剩下的数中的最小 的数,“冒”出来的数组成一个有序区间,剩下的值组成一无序区间,且有序区间中每一元素值都比无序区间的小。 


$arr4=array(66,3,8,6,49,2,96,5,1);

$lenth=count($arr4);
//冒泡排序
//从小到大
//第一个for循环控制要比较的次数
for($i=1;$i<=$lenth;$i++){
//第二个for循环控制要交换的次数
for($j=$lenth-1;$j>=$i;$j--){
if($arr4[$j]<$arr4[$j-1]){
$temp=$arr4[$i];
$arr4[$j]=$arr4[$j-1];
$arr4[$j-1]=$temp;
}

}

}
var_dump($arr4);

//另一种实现方式
$arr5=array(66,3,96,9,2,6,5,1);
$len=count($arr5);
for($i=1;$i<$len;$i++){
for($j=0;$j<$lenth-$i;$j++){
if($arr5[$j]>$arr5[$j+1]){
$temp=$arr5[$j+1];
$arr5[$j+1]=$arr5[$j];
$arr5[$j]=$temp;
}
}
}
var_dump($arr5);
0 0
原创粉丝点击