一.冒泡排序
题目: 已知将一个排列好的数组,将数字按照原有顺序插入到数组内
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插入到数组内 将数组排序 var arr = [10, 20, 30, 40, 50]; var n = 11; arr.push(n) 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)
二.选择排序 var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7] 下标 0 1 2 3 4 5 6 7 8
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)