如何用PHP實現(xiàn)插入排序?
插入排序的基本操作就是將一個數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個新的、個數(shù)加一的有序數(shù)據(jù)。
算法描述:
⒈ 從第一個元素開始,該元素可以認為已經(jīng)被排序
⒉ 取出下一個元素,在已經(jīng)排序的元素序列中從后向前掃描
⒊ 如果該元素(已排序)大于新元素,將該元素移到下一位置
⒋ 重復步驟3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 將新元素插入到下一位置中
⒍ 重復步驟2
<?php
$arr =array(123,0,5,-1,4,15);
function insertSort(&$arr){
//先默認第一個下標為0的數(shù)是排好的數(shù)
for($i=1;$i<count($arr);$i++){
//確定插入比較的數(shù)
$insertVal=$arr[$i];
//確定與前面比較的數(shù)比較
$insertIndex=$i-1;
//表示沒有找到位置
while($insertIndex>=0 && $insertVal<$arr[$insertIndex]){
//把數(shù)后移
$arr[$insertIndex+1]=$arr[$insertIndex];
$insertIndex--;
}
//插入(給$insertval找到位置了)
$arr[$insertIndex+1] = $insertVal;
}
}
insertSort($arr);
print_r($arr);
?>
- php插入排序法實現(xiàn)數(shù)組排序?qū)嵗?/a>
- PHP插入排序?qū)崿F(xiàn)代碼
- php實現(xiàn)插入排序
- PHP常用排序算法實例小結(jié)【基本排序,冒泡排序,快速排序,插入排序】
- PHP排序算法系列之插入排序詳解
- 插入排序_Python與PHP的實現(xiàn)版(推薦)
- PHP排序算法之簡單選擇排序(Simple Selection Sort)實例分析
- PHP排序算法之冒泡排序(Bubble Sort)實現(xiàn)方法詳解
- PHP 快速排序算法詳解
- PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
- php實現(xiàn)的常見排序算法匯總
- PHP排序算法之直接插入排序(Straight Insertion Sort)實例分析
相關文章
laravel執(zhí)行php artisan migrate報錯的解決方法
今天小編就為大家分享一篇laravel執(zhí)行php artisan migrate報錯的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10判斷、添加和刪除WordPress置頂文章的相關PHP函數(shù)小結(jié)
這篇文章主要介紹了判斷、添加和刪除WordPress置頂文章的相關PHP函數(shù)小結(jié),需要的朋友可以參考下2015-12-12Thinkphp實現(xiàn)站點靜態(tài)化的方法詳解
本篇文章主要介紹了Thinkphp實現(xiàn)站點靜態(tài)化的方法,thinkphp提供了一個有效的生成靜態(tài)頁的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03laravel 5 實現(xiàn)模板主題功能(續(xù))
前面一篇文章,我們簡單討論了laravel模板主題功能,本文我們繼續(xù)探討laravel模板主題功能的實現(xiàn),本次實現(xiàn)比較重,有興趣慢慢看吧。2015-03-03