冒泡排序
每次交换两个元素的位置,一直交换到最大/最小的元素到了最前面/后面。下次循环舍弃掉这个元素的位置,继续交换一轮。
好处是可以设置一个标识,比如我的代码里的swap。如果一个循环之后没有交换位置,就意味着此时的允许已经正确了,不需要继续循环。
1 | function bubble(arr) { |
平均时间复杂度O(n²),最好情况O(n),最坏情况O(n²),空间复杂度O(1)。
每次交换两个元素的位置,一直交换到最大/最小的元素到了最前面/后面。下次循环舍弃掉这个元素的位置,继续交换一轮。
好处是可以设置一个标识,比如我的代码里的swap。如果一个循环之后没有交换位置,就意味着此时的允许已经正确了,不需要继续循环。
1 | function bubble(arr) { |
平均时间复杂度O(n²),最好情况O(n),最坏情况O(n²),空间复杂度O(1)。