『PHP学习笔记』系列二:冒泡排序

版权声明:本文为博主原创文章,转载注明出处即可。 https://blog.csdn.net/SherlockHolmes_/article/details/83350170

算法原理:

  • 冒泡排序是一种稳定的排序算法。
  • 冒泡排序,要求必须是枚举数组,且下标是从0开始的正整数。
  • 遍历一个数组,在此过程中,依次将相邻的两个元素的值进行大小比较。
  • 如果前面的值比后面的大,则将两个元素的值进行位置交换。
  • 这个过程一直比较到最后,数组中的最大值一定放在最后位置了。
  • 再将剩下的元素,再进行大小比较,将此过程中最大值挪到最后第2个位置。
  • 再将剩下的元素,再进行大小比较,将此过程中最大值挪到最后第3个位置。
  • ……
  • 最后,直到没有元素再进行比较,则数组顺序就排好了。

代码实现:

//冒泡排序算法
function order($numbers) {
	$len = count($numbers);
	for ($i = 0; $i < $len - 1; $i++) {
		for ($j = 0; $j < $len - 1; $j++) {
		//从小到大的顺序排列
			if ($numbers[$j] > $numbers[$j + 1]) {
				$max = $numbers[$j];
				$numbers[$j] = $numbers[$j + 1];
				$numbers[$j + 1] = $max;
			}
		}
	}
	return $numbers;
}
$arr = array(9, 8, 7, 6, 5, 4, 3, 2, 1);
echo "<pre>";
print_r(order($arr));
echo "</pre><hr />";

结果展示: 

猜你喜欢

转载自blog.csdn.net/SherlockHolmes_/article/details/83350170