八大排序之冒泡排序

冒泡排序是一个很直观的算法,代码中,每轮冒泡,都将待排元素中,排最后的一个元素“安置”好。我们可以从后往前迭代,python中for循环,从后往前,迭代整个数组的方法是这样:

for i in range(len(arr)-1, -1, -1):
    ...

对这个语法不熟悉的同学可以去看下python基础的书籍,这里就不赘述。

直接上代码

arr1 = [4, 1, 6, 2, 5, 0]


def bubble_sorting(arr):
    for i in range(len(arr) - 1, 0, -1):
        for j in range(i):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    print(arr)


bubble_sorting(arr1)

ps

我们在外循环中没有迭代整个数组,放过了数组中的第一个元素,但是在内层的for循环中,又把它拎起来了...

你可能感兴趣的:(八大排序之冒泡排序)