php algorithm - bubble

<?php 
 //php algorithm bubble

 // 3, 8 , 99, 75, 23, 1, 29, 51, 24, 13, 78.

//第一次循环,如果有小元素就往后走,即冒泡,这样循环一次,最小的1就冒泡到最顶部了,即$array[10]=1;
//第二次循环,如果有小元素就往后走,及冒泡,这样循环一次,第二小的3就冒泡到倒数第二的位置了,即$array[9]=3;
//...以此类推。遍历循环数组的个数-1次,就按照从大到小将数组排序了,

//其中可以做些优化,第一次冒泡需要冒泡到最后一个元素,第二次就冒泡到倒数第二个元素就ok了,即count($array)-2,还可以优化的地方这里就不做深入探讨了。
function dump($arr){
	echo '<pre>';
	print_r($arr);
	echo '</pre>';
}

$array  =  array(3,8,99,75,23,1,29,51,24,13,78);

dump($array);

for($i=0;$i<count($array);$i++){
	for($j=0;$j<count($array)-$i-1;$j++){
		if($array[$j]<$array[$j+1]){
			$temp = $array[$j];
			$array[$j] = $array[$j+1];
			$array[$j+1] = $temp;
		}
	}
}
dump($array);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值