選擇排序之PHP實現

前言

選擇排序是一種簡單直觀的排序算法,無論什麼數據進去都是 O(n²) 的時間複雜度。所以用到它的時候,數據規模越小越好。唯一的好處可能就是不佔用額外的內存空間了吧。

算法步驟

1、首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置

2、再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

3、重複第二步,直到所有元素均排序完畢。

動圖演示

PHP代碼實現

function SelectSort($arr) {
    // 獲得數組總長度
    $num = count($arr);
    // 遍歷數組
    for ($i = 0;$i < $num-1; $i++) {
        // 暫存當前值
        $iTemp = $arr[$i];
        // 暫存當前位置
        $iPos = $i;
        // 遍歷當前位置以後的數據
        for ($j = $i + 1;$j < $num; $j++){
            // 如果有小於當前值的
            if ($arr[$j] < $iTemp) {
                // 暫存最小值
                $iTemp = $arr[$j];
                // 暫存位置
                $iPos = $j;
            }
        }
        // 把當前值放到算好的位置
        $arr[$iPos] = $arr[$i];
        // 把當前值換成算好的值
        $arr[$i] = $iTemp;
    }
    return $arr;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章