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);