PHP冒泡排序,摘取季枫老师视频的冒泡排序内容!
<?php
//冒泡排序,摘取季枫老师视频的冒泡排序内容,个人觉得我对这个冒泡的解释理解起来是最容易的。记下来自己学习!!!
$arr=array(3,2,-5,9,-15,7);//指定一个数组 $bar=count($arr);
//确定数组的元素的个数 $cnt=0;
//定义一个中间变量
//下面冒泡排序的主要关键代码部分
for($i=0;$i<$bar;$i++){ //外层for循环:是从$arr这个数组第0个元素开始取
for($j=$i+1;$j<$bar;$j++){ //内层for循环:是从$arr这个数组第1个元素开始取数,是因为上一个for循环已经从该数组第0个元素取值
if($arr[$i]>$arr[$j]){
$cnt=$arr[$i]; //把一个比较后较大元素$arr[$i]赋给一个中间变量$cnt
$arr[$i]=$arr[$j]; //把比较后较小的一个值$arr[$j]赋给$arr[$i]
$arr[$j]=$cnt; //再把被赋值后$cnt的值赋给$arr[$j]
//把两个for循环所取的数进行判断,如果左边大于
//右边的,大数向后甩,左边小于右边,则两数不动
//冒泡排序的核心思想是:把从第0个数组开始的每一个元素和分别后面进行比较,大
//于后面的,则把大的数向后甩,不大于两数位置不变 。
}
}
}
echo $i."</br>";
print_r($arr);
?>
//-------------------------------分--------------------------------------界----------------------------------------------------线------------------------------
//输出结果:
//0
//1
//2
//3
//4
//5
//Array ( [0] => -15 [1] => -5 [2] => 2 [3] => 3 [4] => 7 [5] => 9 )