arr[5,4,3,2,1]
可以把 arr[5] 和 arr[4,3,2,1]看成两个部分。
arr[5]是我们要排列成的有序数组
arr[4,3,2,1]是我们要处理的无序部分
完整代码
let arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]
function sort(arr) {
for (let i = 1; i < arr.length; i++) {
// 2.j=0,相当于在数组索引为0的地方是有序的数组
for (let j = i - 1; j >= 0; j--) {
// 3.if判断。索引为0的值与1的值比较,就是把arr[0](有序)地方值与无序数组
的值进行比较,小的放进有序里面。依次循环。
j--就是在有新值添加进来的时候原有的值往前挪一位
if (arr[j] > arr[j + 1]) {
let temp = arr[j + 1]
arr[j + 1] = arr[j]
arr[j] = temp
}
}
}
return arr
}
console.log(sort(arr))