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

算法原理:

  • 冒泡排序是一种稳定的排序算法。
  • 冒泡排序,要求必须是枚举数组,且下标是从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 />";

结果展示: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值