php冒泡排序實現方法,傳入幾個數字排序后 輸出實戰例子


php冒泡排序實現方法,傳入幾個數字排序后 輸出實戰例子

算法和數據結構是一個編程工作人員的內功。
四種入門級排序算法: 冒泡排序、選擇排序、插入排序、快速排序。

一、冒泡排序

  原理:對一組數據,比較相鄰數據的大小,將值小數據在前面,值大的數據放在后面。 (以下都是升序排列,即從小到大排列)

  舉例說明: $arr = array(6, 3, 8, 2, 9, 1);

   $arr 有6個數據,按照兩兩比較大小如下,注意 比較輪數 和 每輪比較次數

  第一輪排序:

    第一次比較 6和3比較 結果:3 6 8 2 9 1

    第二次比較 6和3比較 結果:3 6 8 2 9 1

    第三次比較 8和2比較 結果:3 6 2 8 9 1

    第四次比較 8和9比較 結果:3 6 2 8 9 1

    第五次比較 9和1比較 結果:3 6 2 8 1 9

  第一輪比較總結:1.排序第1輪、比較5次,沒有獲得從小到大的排序

function orderArray($arr) {
    $count = count($arr);
    $temp = 0;
    // 外層控制排序輪次
    for ($i = 0; $i < $count - 1; $i ++) {
        // 內層控制每輪比較次數
        for ($j = 0; $j < $count - 1 - $i; $j ++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $temp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $temp;
            }
        }
    }
    return $arr;
}

function orderNumber($a1,$a2,$a3,$a4) {
    $arr = array($a1,$a2,$a3,$a4);
    $rs = orderArray($arr);
    echo '<b>'.$rs[0].$rs[1].$rs[2].$rs[3].'</b>';
}
<?=orderNumber(2,9,5,3) ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM