插入排序思想:
1 <?php 2 $arr = [2, 3, 1, 6, 4, 7, 5, 9]; 3 4 var_dump(insertsort($arr)); 5 function insertSort($arr) { 6 $len = count($arr); 7 for ($i = 1; $i < $len; $i++) { 8 // 当前值 9 $key = $arr[$i]; 10 // 当前位置 11 $pos = $i; 12 // 如是当前位置 >0 && 当前值的前一个值 > 当前值 选出最值 13 while ($pos > 0 && $arr[$pos - 1] > $key) { 14 // 当前值 = 前一个值 15 $arr[$pos] = $arr[$pos - 1]; 16 // 当前位置后移 17 $pos = $pos - 1; 18 } 19 // 找到当前值的位置 20 $arr[$pos] = $key; 21 } 22 return $arr; 23 }
原文:http://www.cnblogs.com/catcrazy/p/6395661.html