javascript
//选第二个为当前值, 把它前面比它大的都往后移, 把它插入
function iSort(arr) {
for (let i = 1; i <= arr.length - 1; i++) {
let CUR= arr[i];
let i2 = i;//复制变量以不影响数组逐个循环
while (CUR<= arr[i2-1] && i2 > 0) {
arr[i2] = arr[i2-1];//当前值前面, 比当前值大的都往后移
i2--;
}
arr[i2] = CUR;
//恢复值
}
return arr;
}
iSort([4, 7, 6, 5, 3, 2, 8, 1]);