//直接插入排序實現從小到大排序
//思路:每一趟排序將待排序的記錄(元素)插入到前面的有序數列中,從左到右不斷增大有序數列
//關鍵:找到前面的有序數列中正確插入位置。
$arr =array(6,18,2,4,16,8);
echo
"排序前:
";print_r($arr);
insertsort($arr);
echo
"排序後:
";print_r($arr);
function
insertsort
(&$arr)
else
}$arr[$pos] = $insertdata;//插入到正確位置
echo
"第趟排序結果:";
print_r($arr);
}}
<?php
header("content-type:text/html;charset=utf-8");
//二分查詢插入排序:跟直接插入排序思路差不多,不同在通過二分查詢來確定插入位置
$arr =array(6,18,2,4,16,8);
echo
"排序前:
";print_r($arr);
bsinsertsort($arr);
echo
"排序後:
";print_r($arr);
function
bsinsertsort
(&$arr)
else
}//$left是要插入的位置
for($j=$i-1;$j>=$left;$j--)
$arr[$left] = $insertdata;
}}
php之插入排序
直接插入排序 介紹 插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in place排序 即只需用到o 1 的額外空間的排序 因而在從後向前掃瞄過...
插入排序之PHP實現
插入排序的 實現雖然沒有氣泡排序和選擇排序那麼簡單粗暴,但它的原理應該是最容易理解的了,因為只要打過撲克牌的人都應該能夠秒懂。插入排序是一種最簡單直觀的排序演算法,它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序和氣泡排序一樣,也有一種優化演算...
PHP 演算法02之插入排序
舉例4個數 7,4,3,8 從左往右兩兩比較,即 7和4比較,發現7大於4,那麼交換,數列變成 4,7,3,8 然後我們再看第2位和第三位,發現7大於3,那麼交換,數列變成 4,3,7,8 然後再去看前兩位,左邊還是大於右邊,那麼繼續交換將變成 3,4,7,8 最後看第三位和第四位,發現左邊小於右邊...