冒泡算法
冒泡算法是常用的排序算法之一,他的主要思想是将数组相邻之间的值进行对比,让最大值(或最小值)浮到每次排序的顶端,当所有的数据都对比过一次之后,排序也就完成了。
具体做法:
- 比较相邻的元素。如果第一个比第二个大(或小),就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码实现
//我这里是排序出来是正序的
function bubbleSort($array = array())
{
$num = count($array);
for ($i = 0 ;$i < $num-1 ;$i ++) {
for ( $j = 0 ;$j< $num-$i -1 ;$j ++) {
if ($array[$j] > $array[$j+1]) {
$temp = $array[$j];
$array[$j] = $array[$j+1];
$array[$j+1] = $temp;
}
}
}
return $array;
}