Bubble Sort
原理
1 比较相邻索引的元素(0,1)(1,2)(2,3)依据条件交换位置.以此类推到最后一个
2 得出数组中最大的元素, 并交换位置到最后一个索引位.
3 再让总索引值减 1, 让最大元素不进入下轮比较.
4 重复上面直到结果
时间复杂度 O(n2)
'use strict'
var arr = [0, 333, 1, 12, 123, 22, 2, 4, 3, 5, 0, 333];
function maoPao(arr) {
var n = arr.length;
var count = 0;
for(let i=0; i<n; i++){ // 总循环次数等于数组长度
let len = n - i; // 递减比较的长度
for(let v=0; v<len; v++){ // 限定比较的索引值
if(arr[v] > arr[v+1]){
[arr[v], arr[v+1]] = [arr[v+1], arr[v]];
}
count += 1;
}
}
console.log(count);
return arr;
}
console.log(maoPao(arr));