算法基礎-插入排序-PHP實現

算法原理

把待排序的記錄按其鍵值的大小逐個插入到一個已經排好序的有序序列中,直到所有的記錄插入完爲止,得到一個新的有序序列。

PHP實現插入排序

<?php
function insertion_sort ($arr) {
        for($i=1; $i<count($arr); $i++){
                $tmp=$arr[$i];
                $key=$i-1;
                while($key >= 0 && $tmp < $arr[$key]){
                        $arr[$key+1] = $arr[$key];
                        $key--;
                }
                if(($key+1)!=$i) {
                        $arr[$key+1]=$tmp;
                }
        }
        return $arr;
}

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

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