冒泡排序

人们开始学习排序算法时,通常都先学冒泡算法,因为它在所有排序算法中最简单。然而, 从运行时间的角度来看,冒泡排序是最差的一个,接下来你会知晓原因。

冒泡排序比较任何两个相邻的项,如果第一个比第二个大,则交换它们。元素项向上移动至 正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。

注:冒泡排序算法的复杂度是 O(n²),并不推荐此算法。


            Array.prototype.bubbleSort = function() {
                for (let i = 0; i < this.length; i++) {
            
                    for (let j = 0; j < this.length - 1 - i; j++) {
                        if (this[j] > this[j + 1]) {
                            let aux = this[j]
                            this[j] = this[j + 1]
                            this[j + 1] = aux
                        }
                    }
            
                }
            }
    

      function bubbleSort(arr) {
        let len = arr.length;
        for (let i = 0; i < len; i++) {
          for (let j = 0; j < len - 1 - i; j++) {
            if (arr[j] > arr[j + 1]) {
              let temp = arr[j];
              arr[j] = arr[j + 1];
              arr[j + 1] = temp;
            }
          }
        }
      }