算法基礎-選擇排序-PHP實現

算法原理

工作原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。 選擇排序是不穩定的排序方法(比如序列[5, 5, 3]第一次就將第一個[5]與[3]交換,導致第一個5挪動到第二個5後面)

PHP實現選擇排序

<?php
function selectionSort ($arr) {
        $count = count($arr);
        for ($i = 0; $i < $count - 1; $i++) {
                $minIndex = $i;
                for ($j = $i + 1; $j < $count; $j++) {
                        if ($arr[$minIndex] > $arr[$j]) {
                                $minIndex = $j;
                        }
                }
                if ($minIndex != $i) {
                        $temp = $arr[$i];
                        $arr[$i] = $arr[$minIndex];
                        $arr[$minIndex] = $temp;
                }
        }
        return $arr;
}

$arr = [15, 3, 6, 43, 132, 4, 28, 39, 99];

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