JSFiddle - React, Tailwind, and code Playground
by stanney
JavaScript
//尋找要插入的位置
function insertedIdx(list, elementIdx) {
//搜尋已排序集合
for(var i = 0; i < elementIdx; i++) {
if(list[i] < list[elementIdx]) { break; }
}
return i;
}
//插入至
function insert(list, elementIdx, inserted) {
var tmp = list[elementIdx];
for(var i = elementIdx; i > inserted; i--)
{
list[i] = list[i-1];
}
list[inserted] = tmp;
}
//
function insertionSort(list) {
for(var i = 0; i < list.length; i++) {
var inserted = insertedIdx(list, i);
if(inserted !== i) { insert(list, i, inserted); }
}
}
var list = [10, 9, 1, 2, 5, 3, 8, 7];
insertionSort(list);
alert(list);