1. 冒泡排序
1.1 思路
- 用外层for循环实现需要走的趟数(arr.length-1);
- 用内层for循环实现每一次交换的趟数(arr.length-i-1,j从0开始);
- 交换两个变量
1.2 举例
数组:[5, 4, 3, 2, 1]
第一趟:[4, 3, 2, 1, 5] 共交换了4次;
第二趟:[3, 2, 1, 4, 5] 共交换了3次
第三趟:[2, 1, 3, 4, 5] 共交换了2次
第四趟:[1, 2, 3, 4, 5] 共交换了1次
2 实现
2.1 代码
var arr = [5, 4, 3, 2, 1]
function sortArr(arr) {
for(var i = 0; i<arr.length -1; i++) {
for(var j=0; j< arr.length - i -1; j++) {
// 交换两个元素
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
return arr;
}
console.log(sortArr(arr));