插入排序法
- 原理
插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 - 代码
<?php
function insert_sort($arr)
{
$len = count($arr);
for($i = 1;$i < $len; $i++){
//假设$arr[$i]就是最小的
$tmp = $arr[$i];
for($j = $i-1;$j >= 0;$j--){
if($tmp < $arr[$j]){
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
return $arr;
}
$brr = array(1,23,121,6532,-1,0.3,-0.2,321312);
$a = insert_sort($brr);
var_dump($a);
- 效果