PHP排序算法:選擇排序

在PHP中實現數字排序很簡單,我們可以將字符串轉成數組,例如:

$string = '94132768';

通過

$arr = str_split(($string);

轉成數組:
$arr = array(9,4,1,3,2,7,6,8);

排序算法

第一種我們可以通過使用Php的內置函數進行排序

sort($arr);升序,rsort($arr)降序

第二種是使用 選擇排序法 進行排序,大概思路就是,從數組中找到最小數,然後與第1位數字進行對調,然後以此類推:

9,4,1,3,2,7,6,8

9和1對調

1,4,9,3,2,7,6,8

然後4到8中最小數爲2,2和4對調

1,4,9,3,4,7,6,8

以此類推

$n = count($arr);

for($i=0;$i<$n;$i++){

    $min = $arr[$i];

    //比較[i,n)中的最小數,然後進行位置兌換
    for($j=$i+1;$j<$n;$j++){

        if($arr[$j] < $min)
                {
            $temp = $arr[$j];
            $arr[$i] = $temp;
            $arr[$j] = $arr[$i];
            $min = $arr[$j];
        }

    }

}
print_r($arr);

大家可以沒事試試。很簡單的算法。

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