冒泡排序算法的原理如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
function bubbleSort($array){
foreach($array as $key=>$v){
for($i=$key+1;$i<count($array);$i++){
$num = '';
if($array[$key] > $array[$i]){
$num = $array[$key];
$array[$key] = $array[$i];
$array[$i] = $num;
}
}
}
return $array;
}
- 两次循环,循环整个数组,当指针在数组第一个位置的值的时候
- 再次循环数组进行用第一个位置的值去和数组中的其他值一一进行对比(自身不用和自己比较所以直接从下一个值开始进行比较)
- 如果当前位置的值比后一个位置的值大,位置互换,然后用第一个位置的值去比较下一个值
- 最后返回结果。