<?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);
php algorithm - bubble,布布扣,bubuko.com
原文地址:http://blog.csdn.net/fujiafeihudui/article/details/38405771