[数据结构学习笔记22] 冒泡排序(Bubblesort)

冒泡排序(Bubblesort)是性能比较差的排序方法。

思想,从头开始,依次往后两两比较,如果前面的比后面的大,那么把两元素调换。这样一轮下来,最大的数会到最后面。第二轮类似,结果第二大的数会到倒数第二的位置,然后第三轮,直到排序完成。

举例:

6,2,0,9

第一遍

2,6,0,9

2,0,6,9

第二遍

0,2,6,9

到这里其实已经排序结束

但是冒泡排序还是会从头开始第三遍的比较,确保前面的数列排序正确。

代码(javascript)

function bubbleSort(input) {
  let swapSignal = true;
  while (swapSignal) {
     swapSignal = false;
     for (let i = 0; i < input.length - 1; i++) {
        if (input[i] > input[i + 1]) {
            let temp = input[i];
            input[i] = input[i+1];
            input[i+1] = temp;
            swapSignal = true;
         }
     }
  }    
}

冒泡排序的时间复杂度是n^2。我们要避免使用冒泡排序。

posted @ 2025-02-11 22:53  Eagle6970  阅读(15)  评论(0)    收藏  举报