基于python的冒泡排序法

这段冒泡排序的算法具有选择性的反向排序功能,当reverse=True时,输出为反向排序的list。
虽然算法比较简单,但需要注意的是这段代码的时间复杂度为 O( n 2 n^2 n2)。

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

L=[2, 6, 3, 5, 4, 8, 1, 0, 15, 13, 11, 12] # list for test
L_sort = bubble_sort(L, True)
print(L_sort)

你可能感兴趣的:(基于python的冒泡排序法)