PHP 插入排序 - 直接插入排序

来源:互联网 发布:阴阳师辅助软件 编辑:程序博客网 时间:2024/04/29 21:42
// 插入排序(Insertion Sort)是,每次从数列中取一个还没有取出过的数,并按照大小关系插入到已经取出的数中使得已经取出的数仍然有序。$arr_int = array(5, 3, 2, 6, 9, 8, 1, 7);print_r($arr_int);echo "<br />";$arr_len = count($arr_int);$i = 0;for($j=1; $j<$arr_len; $j++) {if($arr_int[$j] < $arr_int[$j-1]) {$tmp = $arr_int[$j];for($i = $j-1; $i >= 0 && ($arr_int[$i] > $tmp); $i--)$arr_int[$i + 1] = $arr_int[$i];$arr_int[$i+1] = $tmp;print_r($arr_int);echo "<br />";}}

输出:

Array ( [0] => 5 [1] => 3 [2] => 2 [3] => 6 [4] => 9 [5] => 8 [6] => 1 [7] => 7 ) 
Array ( [0] => 3 [1] => 5 [2] => 2 [3] => 6 [4] => 9 [5] => 8 [6] => 1 [7] => 7 ) 
Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 6 [4] => 9 [5] => 8 [6] => 1 [7] => 7 ) 
Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 6 [4] => 8 [5] => 9 [6] => 1 [7] => 7 ) 
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 6 [5] => 8 [6] => 9 [7] => 7 ) 
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 6 [5] => 7 [6] => 8 [7] => 9 ) 

0 0
原创粉丝点击