冒泡排序:
1、基本演算法思想:
l依次比較相鄰的兩個元素,消除逆序(逆序是數學上的概念,是成對出現的,比如50,30就是一對逆序,所謂的消除逆序,就是大的放后面,小的放前面)
l這樣,一輪比較下來,最大的那個數一對是在最后面!
l然后,再繼續新的一輪的比較,注意,剛才一輪后的最大值不再參與比較,這樣,這一輪參與比較的數值就比上一輪少一個,如此反復,直到最后只剩下兩個數值比較為止!
所以:應該是一個雙重回圈,外層控制輪數,內層控制每輪比較的次數!
2、示例代碼:
<?php
echo '<pre>';
function maopao($arr){
for($i=1,$len=count($arr);$i<$len;$i++){
for($k=0;$k<$len-$i;$k++){
if($arr[$k]>$arr[$k+1]){
$tem = $arr[$k];
$arr[$k] = $arr[$k+1];
$arr[$k+1] = $tem;
}
}
}
return $arr;
}
$arr1 = array(78,90,67,45,23,12,34,54,32);
var_dump(maopao($arr1));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95108.html
標籤:PHP
下一篇:PHP高并發和大流量的解決方案
