Insertion Sort

时间:2014-11-09 17:55:50   收藏:0   阅读:235

bubuko.com,布布扣

Implementation in PHP:

 1 <?php
 2 /* insertion sort:
 3     1. operate directly on input array (&), not on a copy
 4     2. sort as ascend
 5 
 6     a is input array
 7     m is length of a
 8     i/j/k is for-loop counter
 9     t is temp value
10 */
11 function sortInsertion(&$a){
12     $m = count($a);
13     $n = $m - 1;
14     $sub;
15     for($i=1; $i<$m; $i++){
16         $t = $a[$i];
17         $sub = $i;
18         for($j=0; $j<$i; $j++){
19             if($t < $a[$j]){
20                 $sub = $j;
21              break;
22             }
23             else{
24                 // do nothing
25             }
26         }
27         for($k=$i; $k>$sub; $k--){
28             $a[$k] = $a[$k-1];
29         }
30         $a[$sub] = $t;
31     }
32 }
33 
34 $arr = array(9, 5, 2, 7, 3);
35 sortInsertion($arr);
36 echo implode(‘, ‘, $arr);
37 
38 // 2, 3, 5, 7, 9
39 ?>

 

原文:http://www.cnblogs.com/crepesofwrath/p/4085602.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!