排序算法
  - 冒泡排序
冒泡排序只会操作相邻的两个数据,每次冒泡操作都会将相邻的两个元素进行比较,一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。
 
function bubbleSort(arr) {
  for (let i = 1; i < arr.length; i++) {
    for (let j = i; j > 0; j--) {
      if (arr[j] < arr[j - 1]) {
        [arr[j - 1], arr[j]] = [arr[j], arr[j - 1]];
      }
    }
  }
  console.log(arr);
}
 1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- 快速排序
 
function quickSort(arr) {
  if (arr.length <= 1) return arr;
  let right = [],
    left = [],
    keys = arr.shift();
  for (let value of arr) {
    if (value > keys) {
      right.push(value);
    } else {
      left.push(value);
    }
  }
  return quickSort(left).concat(keys, quickSort(right));
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
编辑  (opens new window)
  上次更新: 2021/08/22, 01:09:59