JavaScript中實現插入排序算法的原理是什么?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
JavaScript實現插入排序
function insertion_sort(arr) { var temp; for (var i = 1; i < arr.length; i++) { for (var j = i-1; j >=0; j--) { if (arr[j+1]<arr[j]) { temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; }else if (arr[j+1]>=arr[j]) { break; } } } return arr; } var a=[11,2,3,445,7,32,71,8,94]; console.log(insertion_sort(a)); var b=[94,11]; console.log(insertion_sort(b));
說明:
1、一旦發現arr[j+1]的值不比前面的值小,就可以結束內層循環了,break
實現這一功能;
2、內層循環用arr[j+1]的原因:初始時a[j](即a[i-1])代表a[i]前一個位置,進入循環后,a[j+1]就表示了a[i]的位置,實現了a[i]和a[i-1]的第一次比較;隨著j第一次自減,實際上比較了a[i-1]和a[i-2];依次類推。如果將arr[j+1]改成a[i]是不行的,因為沒有實現位置的移動。
關于JavaScript中實現插入排序算法的原理是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。