先科普一下到底什么是冒泡排序 ,冒泡排序到底能干嘛?
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
<?php
//先随机定义一个需要进行排序的数组
$arr=array(8,12,33,15,84,35,66,48,11);
//定义一个冒泡排序的方法
function maopao($ar){
$len=count($ar);
//利用for循环来控制需要冒泡的次数
for($i=1;$i<$len;$i++)
{ //该层是进行判断 每一层循环 冒泡出来的数 进行与之比较
for($k=0;$k<$len-$i;$k++)
{
//进行判断 如果前面的数 大于后面的数 那么这两个数 将调换位置
if($ar[$k]>$ar[$k+1])
{
$tmp=$ar[$k+1];
$ar[$k+1]=$ar[$k];
$ar[$k]=$tmp;
}
}
}
return $ar;
}
var_dump(maopao($arr));