插入排序:将一个记录插入到已排好序的序列中,从而得到一个新的有序序列(将序列的第一个数据看成是一个有序的子序列,然后从第二个记录逐个向该有序的子序列进行有序的插入,直至整个序列有序)。
var arr = [2, 1, 5, 3, 6, 4, 9, 8, 7];
var tmp;
for (var i = 1; i < arr.length; i++) {
// 待排元素小于有序序列的最后一个元素时,向前插入
if (arr[i] < arr[i - 1]) {
tmp = arr[i];
for (var j = i; j >= 0; j--) {
if (j > 0 && arr[j - 1] > tmp) {
arr[j] = arr[j - 1];
}
else {
arr[j] = tmp;
break;
}
}
}
}
document.write(arr);