PHP基礎算法之插入排序法

<?php 
function insert_sort($arr)
{
//插入排序法
$len=count($arr);
    for($i=1; $i<$len; $i++) {
    //得到當前須要比較的元素值。
    $tmp = $arr[$i];
        //內層循環控制 比較 並 插入
        for($j=$i-1; $j>=0; $j--) {
            //$arr[$i];//須要插入的元素; $arr[$j];//須要比較的元素
            if($tmp < $arr[$j]) {
            //發現插入的元素要小,交換位置
            //將後邊的元素與前面的元素互換
            $arr[$j+1] = $arr[$j];
            //將前面的數設置爲 當前須要交換的數
            $arr[$j] = $tmp;
            } else {
            //若是碰到不須要移動的元素
            //因爲是已經排序好是數組,則前面的就不須要再次比較了。
            break;
            }
        }
    }
//將這個元素 插入到已經排序好的序列內。
//返回
return $arr;
}

$arr=array(54,1,43,62,21,66,32,78,36,76,0,17,39,-1);
echo '<pre>';
print_r(insert_sort($arr));

 ?>
相關文章
相關標籤/搜索