摘要:上還有個空檔,這時候把補上就行了外層次循環待插入的數外層待插入的數為內層次循環要插入的已經排序好的小所以要騰出一個空來給這時候索引的值為要往后靠,此時外層次循環結束注意此處兩值如果已經經歷了內層循環,那么就此時完成把的值賦予
1.外層循環是從數組中選出一個arr[i]將要插入到有序數組的數 2.內層循環是遍歷已經排序好的數組, 將arr[i](也就是temp)依次與有序數組做對比, 如果發現有序數組其中一個比準備插進來的arr[i]大, 那么誰比這個arr[i]大,誰就出去,把位置騰出去, 當然比arr[i]大的這個數也不能扔,就給他放在已經排號序數組中 且相對于他的下一個索引就好了。 3.上2還有個空檔,這時候把temp補上就行了
= 0 && $temp < $arr[$j]; $j--) { echo "====>內層{$j}=" . $j . "次循環" . " "; echo "要插入的$temp" . "=$temp " . "VS " . "已經排序好的$arr[$j]=" . "$arr[$j]" . "小 "; $arr[$j + 1] = $arr[$j]; echo "所以要騰出一個空來給temp,這時候索引$j的值為".$arr[$j]."要往后靠,此時$j=" . $j, " "; } echo "外層{$i}=" . $i . "次循環結束"; // var_dump($temp,$arr[$i]);注意此處兩值如果已經經歷了內層循環,那么就!== $arr[$j + 1] = $temp; echo " 此時完成$j=" . $j . "把temp的值" . "$temp" . "賦予$j+1" . " "; echo "=====", " "; } return $arr; } var_dump(insertSort($arr));
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22017.html
摘要:希爾排序希爾排序這個名字,來源于它的發明者希爾,也稱作縮小增量排序,是插入排序的一種更高效的改進版本。我們可以發現,當區間為的時候,它使用的排序方式就是插入排序。 冒泡排序 冒泡排序無疑是最為出名的排序算法之一,從序列的一端開始往另一端冒泡(你可以從左往右冒泡,也可以從右往左冒泡,看心情),依次比較相鄰的兩個數的大?。ǖ降资潜却筮€是比小也看你心情)。 showImg(https://s...
摘要:而在證明算法是正確的基礎上,第二步就是分析算法的時間復雜度。算法的時間復雜度反映了程序執行時間隨輸入規模增長而增長的量級,在很大程度上能很好反映出算法的優劣與否。 showImg(https://segmentfault.com/img/remote/1460000016451712?w=800&h=341); 前言 雖然工作中,你覺得自己并沒有涉及到算法這方面的東西,但是算法是程序的...
摘要:總結比較排序算法都是空間復雜度為的原地排序算法,其中冒泡排序和插入排序兩兩比較不會交換相等的記錄,所以這兩種排序都是穩定排序,而選擇排序只是記錄最小值最后進行交換,所以會破壞相對順序,選擇排序不是穩定算法。 冒泡排序 兩兩比較相鄰記錄的關鍵字,如果反序則交換,大的數字往下沉,一直到最大的出現在數組最后 function swap(&$x, &$y) { $temp = $x; ...
摘要:前言昨天跟在前端好友聊天時,她提到了一個問題數組去重你會怎么寫。利用將結構轉換成數組拓展運算符內部使用循環參考淺談數組去重數組去重小結標準入門第版 前言 昨天跟在前端好友聊天時,她提到了一個問題:數組去重你會怎么寫?。想了想,其實有好幾種方法,決定在這篇筆記中做一些記錄。 思路一: 雙層循環,外層循環元素,內層循環時比較值 如果有相同的值則跳過,不相同則push進數組 Array....
摘要:直接插入排序是由兩層嵌套循環組成的。插入排序的基本方法是每步將一個待排序的記錄按其關鍵字的大小插到前面已經排序的序列中的適當位置,直到全部記錄插入完畢為止。算法實現直接插入排序記錄后移插入到正確的位置運行結果 算法引入: 在這里我們依然使用《大話數據結構》里面的一個例子: 撲克牌是我們幾乎每個人都玩過的游戲。平時我們開始的時候一般都是一個人發牌,其他人都是一邊摸牌,一邊理牌,假如你摸上...
閱讀 3201·2021-11-25 09:43
閱讀 3206·2021-11-23 09:51
閱讀 3519·2019-08-30 13:08
閱讀 1569·2019-08-29 12:48
閱讀 3594·2019-08-29 12:26
閱讀 397·2019-08-28 18:16
閱讀 2562·2019-08-26 13:45
閱讀 2429·2019-08-26 12:15