1. 程式人生 > >PHP中選擇排序的演算法理解

PHP中選擇排序的演算法理解

選擇排序,原理:

在每一次大迴圈的時候得出一個最大值或者最小值來替換相應的位置,看程式碼:

<?php
$arr = [3,2,4,7,5];

for($i=0;$i<count($arr);$i++){

     //第一次迴圈假設第一個元素的值最大,接下來的每一輪假設當前下標的元素值最大
    $max = $arr[$i];
    for($k=$i+1;$k<count($arr);$k++){
        //將假設最大元素值跟下一個元素值進行對比
        if($max<$arr[$k]){
            //先記錄當前最大值
            $max = $arr[$k];
            //將比較大的值替換成小的
            $arr[$k] = $arr[$i];
            //將比較小的值替換成記錄的大值
            $arr[$i] = $max;
        }
    }
}
?>