升序排列数组

  1. function bubbleSort(arr) {
  2. let len = arr.length;
  3. while (--len) {
  4. for (let p = 0; p < len; p++) {
  5. if (arr[p] > arr[p + 1]) {
  6. [arr[p], arr[p + 1]] = [arr[p + 1], arr[p]];
  7. }
  8. }
  9. }
  10. return arr;
  11. }


算法测试

  1. console.log(bubbleSort([3, 6, 1, 8, 9, 5]));
  2. // [ 1, 3, 5, 6, 8, 9 ]
  3. console.log(bubbleSort([-3, 7, -8, 4, 6, -5, -4, 5]));
  4. // [-8, -5, -4, -3, 4, 5, 6, 7]
  5. console.log(bubbleSort([12, 0, 3, -4, 3, 78]));
  6. // [ -4, 0, 3, 3, 12, 78 ]