冒泡排序的英文名是 Bubble Sort,是一种最基础的交换排序算法。
相信每个人都喝过汽水吧,在汽水中常有许多的小气泡往上飘,这是因为组成气泡的二氧化糖比水要轻,所以小气泡才会一点一点往上浮,而冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以像小气泡一样,根据自身的大小,一点一点的像数组的一侧移动
一组无序的数列想要从小到大排序,通过遍历数组,比较相邻的两个元素,当左边的值大于右边的值时,交换双方的值
这是标准的冒泡排序算法,排序过程如下图所示:
/**
* 冒泡排序算法
*
* @param array $arr
*/
function bubbleSort(array $arr)
{
$count = count($arr);
for ($i = 0; $i < $count - 1; $i++) {
for ($j = 0; $j < $count - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $tmp;
}
}
}
return $arr;
}