首頁  >  文章  >  後端開發  >  PHP排序之冒泡排序

PHP排序之冒泡排序

小云云
小云云原創
2018-03-22 09:35:121709瀏覽

初學php,平常用到的演算法很少,但是基本的幾種演算法還是要掌握的,像是冒泡排序。本文主要跟大家分享PHP排序之冒泡排序,希望能幫助大家。

需求:分別用冒泡排序法將下面陣列中的值依照從小到的順序排序。
要排序的陣列:$arr(1,34,555,63,21,66,32,78,36,76,25);
思路分析:法如其名,就是像冒泡一樣,每次從數組當中冒一個最大的數出來。

例如:
 *  2,4,1    // 第一次冒出的泡是4 
 *  2,1,4    // 第二次冒出的泡是2 
 *  1,2,4    // 最後變成這樣

<?php
/* 
 * 冒泡排序
 * 按照从小到的顺序进行排序
 * date 2017-1-20
 * author 疯狂老司机
 */
$arr=array(1,34,555,63,21,66,32,78,36,76,25);
function bubble_sort($arr)
{  
    $len=count($arr);
    //设置一个空数组 用来接收冒出来的泡
    //该层循环控制 需要冒泡的轮数
    for($i=1;$i<$len;$i++)
    { //该层循环用来控制每轮 冒出一个数 需要比较的次数
        for($k=0;$k<$len-$i;$k++)
        {
            if($arr[$k]>$arr[$k+1])
            {
                $tmp=$arr[$k+1];
                $arr[$k+1]=$arr[$k];
                $arr[$k]=$tmp;
            }
        }
    }
    return $arr;
}
?>


相關建議:

php冒泡排序基礎解說

JavaScript中的冒泡排序詳解

Js冒泡排序與快速排序實詳解

以上是PHP排序之冒泡排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn