关于#时冒泡排序#的问题,如何解决?

求冒泡排序详解。
代码,原理,以及时间复杂度等等。
需要比较详细的解释,最好是博文。找了很多篇,不是付费,就是不好
@静渊隐者

这个感觉需要长博文给你讲解一下,下面是简单的讲解:

冒泡排序是一种简单的排序算法,它重复地遍历数列,
比较相邻的两个元素,如果它们的顺序错误就把它们交换。
最坏的时间复杂度为 $O(n^2)$,平均的时间复杂度为 $O(n^2)$。

--
代码实现类似下面

def bubble_sort(nums):
    for i in range(len(nums) - 1):
        for j in range(len(nums) - i - 1):
            if nums[j] > nums[j + 1]:
                nums[j], nums[j + 1] = nums[j + 1], nums[j]
    return nums

原理:
冒泡排序从数组的第一个元素开始,与相邻的元素比较,如果它比相邻元素大,就交换它们的位置。该过程在整个数组上继续重复,直到最大的元素被放到了数组的末尾。然后,忽略最后的元素,在剩下的数组中重复相同的过程。每一次该过程结束后,最大的元素都被移动到了数组的末尾。

--
参照博文,这个需要你花时间研究了

https://blog.csdn.net/u014532901/article/details/52628424
https://developer.aliyun.com/article/845386