选择排序
var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7]
下标 0 1 2 3 4 5 6 7 8
console.log('原始数组arr: ', arr)
第几次循环 假设谁是最小值 和谁交换 循环开始的值
k == 0 1 0 0 1
k == 1 2 1 1 2
k == 2 3 2 2 3
for (var k = 0; k < arr.length; k++) {
var minIndex = k // 假设当前最小数值 为 下标 0 的项
for (var i = k + 1; i < arr.length; i++) {
if (arr[minIndex] > arr[i]) {
minIndex = i++
}
}
交换 真实最小的值 与 下标 0 的值
var temp = arr[k]
arr[k] = arr[minIndex]
arr[minIndex] = temp
}
console.log('选择排序结束后的 arr: ', arr)
冒泡排序 已知一个排序好的数组 - 将数字按照原有顺序插入到数组内 javascript var origin = [10, 20, 30, 40, 50]; var n = 11; code run here ...
[ 10, 20, 30, 40, 50, 11]
结果: [ 10, 11, 20, 30, 40, 50 ]
```
1. 插入到数组内
2. 将数组排序
var arr = [10, 20, 30, 40, 50];
var n = 11;
arr.push(n) // 1.
2. 冒泡排序
for (var k = 0; k < arr.length - 1; k++) {
for (var i = 0; i < arr.length - 1 - k; i++) {
if (arr[i] < arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
console.log('冒泡排序结束后的arr: ', arr)