冒泡排序(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。我们要避免使用冒泡排序。