[100天每天一個算法--第9天] PHP實現直接插入排序

直接插入排序(Straight Insertion Sort)是一種最簡單的排序方法,其基本操作是將一條記錄插入到已排好的有序表中,從而得到一個新的、記錄數量增1的有序表。

邏輯比較簡單,這裏博主直接貼代碼供大家參考
php實現代碼如下:

<?php
/*直接插入排序*/
$arr = [2,4,6,3,1,5,7,9,8];
print_arr($arr);//排序前
insertsort($arr);
echo '<br/>';
print_arr($arr);//排序後
function insertsort (&$arr) {
    for ($i=1;$i<count($arr);$i++) {
    	$tmp = $arr[$i];//將要排序的元素取出
        for ($j=$i-1; $j>=0&&$arr[$j]>$tmp; $j--) { 
        	$arr[$j+1] = $arr[$j];
        }
        $arr[$j+1] = $tmp;
    }
}
function print_arr($arr) {
	for ($i=0; $i < count($arr); $i++) { 
		echo $arr[$i].'--';
	}
}

排序結果:
直接插入排序結果

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