您好,登錄后才能下訂單哦!
這篇文章主要介紹PHP如何實現插入排序的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
插入排序基本思路:將數組分為兩個區(已排序區和未排序區),假定數組的第一個元素處于已排序區, 第一個元素之后的所有元素都處于未排序部分。排序時用到雙層循環,外層循環用于從未排序部分中取出待排序元素,并逐步縮小未排序部分,內層循環用于從已排序部分尋找插入位置(即不斷地從已排序部分尋找比待排序元素大的元素), 然后將較大的已排序區的元素后移,后移的最終結果是已排序區元素的最后一個元素占據待排序元素原來的位置,而已排序區中間空出一個位置),最后將待排序元素插入元素后移之后留下的空位。
//插入排序 function insert_sort($arr) { //獲取數組單元個數 $count = count($arr); //外層循環用于從未排序區域中取出待排序元素 for ($i=1; $i < $count; $i++) { //獲取當前需要插入已排序區域的元素值 $temp = $arr[$i]; //內層循環用于從已排序區域尋找待排序元素的插入位置 for ($j=$i-1; $j >= 0; $j--) { //如果$arr[$i]比已排序區域的$arr[$j]小,就后移$arr[$j] if ($temp < $arr[$j]) { $arr[$j+1] = $arr[$j]; $arr[$j] = $temp; } else { //如果$arr[$i]不小于$arr[$j],則對已排序區無需再排序 break; } } } return $arr; } $arr = array(6, 19, 26, 62, 88, 99, 18, 16, 1); var_dump(insert_sort($arr)); 測試結果:
以上是PHP如何實現插入排序的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。