Insertion Sort,insertionsort


 1 
 php
 2 function swap(&$a, &$b){
 3     $c = $a;
 4     $a = $b;
 5     $b = $c;
 6 }
 7 
 8 # insertion sort
 9 # ascend
10 function sortInsertion(&$a){ # a is an array of numbers
11 
12     # length of a
13     $m = count($a);
14 
15     if($m < 2){
16         return;
17     }
18 
19     # for m numbers, we have m-1 numbers to insert
20     for($i=1; $i<=$m-1; $i++){
21         for($j=$i; $j>0; $j--){
22             if($a[$j] < $a[$j-1]){
23                 swap($a[$j], $a[$j-1]);
24             }
25         }
26     }
27 
28     return;
29 }
30 
31 $arr = range(5, 0);
32 sortInsertion($arr);
33 echo implode(', ', $arr);
34 
35 // 0, 1, 2, 3, 4, 5
36 ?>