您的位置:首页 > 编程语言 > PHP开发

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

2014-03-15 07:14 225 查看
// 插入排序(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 )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: