插入排序 直接插入排序的PHP实现 Straight Insertion Sort

来源:互联网 发布:java hashmap 红黑树 编辑:程序博客网 时间:2024/06/05 04:45

直接插入排序(straight insertion sort)的PHP实现,很有用的一个函数array_splice,用好了很强的函数。

view source
print?
01function out_arr($arr) {
02    return implode(', '$arr).'
03';
04}
05 
06function sort_straight_insertion($arr) {
07    $ret[] = $arr[0];
08    for ($i = 1; $i count($arr); $i++ ) {
09        for($j = 0; $j count($ret); $j++ ) {
10            if$arr[$i] < $ret[$j] ) {
11                array_splice($ret$j, 0, array($arr[$i]));
12                break;
13            }
14        }
15        ifcount($ret) == $i ) {
16            $ret[] = $arr[$i];
17        }
18        echo sprintf('%3d'$i).' : '.out_arr($ret);
19    }
20}
21 
22echo '<pre>';
23$arr = range(1, 20);
24shuffle($arr);
25echo 'ORG : '.out_arr($arr);
26sort_straight_insertion($arr);
27echo '</pre>';
原创粉丝点击