一.冒泡排序
- 时间复杂度:算的是运行的次数。
- 空间复杂度:算的是占用的内存。
想详细了解,可点击该链接:
冒泡排序:通过从第一个位置开始做交换,大的往后排,小的往前排,一直到最后。以此类推,每次遍历都是干这个事。
动画:
需要遍历的次数 = 总长度 - 1。
//冒泡排序
let upSort = (arr) => {
//控制遍历多少次
for(let i = arr.length - 1, tmp; i > 0; i--) {
//控制遍历到哪个边界
for(let j = 0; j < i; j++) {
tmp = arr[j];
if (tmp > arr[j + 1]) {
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
};
return arr;
}
console.log(upSort([4, 1, 2, 14, 8, 56])); //[1, 2, 4, 8, 14, 56]