JavaScript實現:插入排序!!!
插入排序的思路(原理就跟打牌的時候,揭牌並整理牌):
- 從第二個數開始往前比
- 比它大就往後排
- 以此類推進行到最後一個數
排序動畫地址:
話不多說,上程式碼!!!
Array.prototype.insertionSort = function () {
for (let i = 1; i < this.length; i++) {
const temp = this[i];
let j = i;
while (j > 0) {
if (this[j - 1] > temp) {
this[j] = this[j - 1];
} else {
break;
}
j--;
}
this[j] = temp;
}
};
const arr = [5, 4, 3, 2, 1];
arr.insertionSort();
console.log(arr);
時間複雜度:
兩個巢狀迴圈,故插入排序的時間複雜度是O(n^2)
怎麼樣,是不是很簡單,你學會了嗎?
如果這篇文章能夠幫助到您,希望您不要吝惜點贊??和收藏??,您的支援是我繼續努力的動力 ??!!!
相關文章
- 用JavaScript實現插入排序JavaScript排序
- 插入排序java實現排序Java
- go 實現氣泡排序和插入排序Go排序
- 用JS實現氣泡排序和插入排序JS排序
- 選擇排序和插入排序(C++實現)排序C++
- php實現 氣泡排序,插入排序,選擇排序PHP排序
- Java實現氣泡排序和插入排序演算法Java排序演算法
- JavaScript Ajax 實現JavaScript
- javascript之實現bindJavaScript
- 實現JavaScript繼承JavaScript繼承
- 原生Javascript實現BindJavaScript
- JavaScript防抖實現JavaScript
- Javascript實現動畫效果JavaScript動畫
- JavaScript動畫實現初探JavaScript動畫
- javascript實現佇列JavaScript佇列
- 利用java實現插入排序、歸併排序、快排和堆排序Java排序
- 實時插入排序演算法排序演算法
- 希爾排序使用直接插入排序、二分插入排序的C++程式碼實現演算法排序C++演算法
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- Array.sort 演算法原理(插入排序\快速排序in-place實現)演算法排序
- JavaScript中new實現原理JavaScript
- javascript實現Map結構JavaScript
- JavaScript實現區塊鏈JavaScript區塊鏈
- javascript實現deepEqual和shallowEqualJavaScript
- javascript實現時間器JavaScript
- JavaScript 實現 Base64JavaScript
- Javascript如何實現繼承JavaScript繼承
- javascript模擬實現replaceAll()JavaScript
- Javascript如何實現GPU加速?JavaScriptGPU
- Git 的 JavaScript 實現 GitletGitJavaScript
- Javascript 實現的StopWatchJavaScript
- javascript的hashCode實現JavaScript
- 字典(Dictionary)的javascript實現JavaScript
- Javascript實現單例模式JavaScript單例模式
- javascript中的hashtable實現JavaScript
- [java]插入排序及折半插入排序Java排序
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- javascript模擬new的實現JavaScript