欢迎访问宙启技术站
智能推送

Python编写案例:实现冒泡排序算法

发布时间:2023-12-04 15:26:26

冒泡排序算法是一种简单直观的排序算法,它重复地走访过要排序的元素,比较相邻的两个元素,如果它们的顺序错误就将它们交换过来。经过第一轮的比较,最大的元素就会浮到最后的位置,然后继续进行下一轮的比较,直到所有元素排序完成。

下面是使用Python编写冒泡排序算法的代码,以及一个使用例子:

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

代码中的 bubble_sort 函数接收一个列表 arr 作为参数,通过两层循环进行比较和交换,最后返回排好序的列表。

下面是使用例子,假设我们有一个乱序的列表 arr,需要对其进行排序:

arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的列表:")
for i in range(len(arr)):
    print("%d" %arr[i], end=" ")

运行以上代码,输出结果为:

排序后的列表:
11 12 22 25 34 64 90

这个例子中,我们的目标是对列表 [64, 34, 25, 12, 22, 11, 90] 进行排序。首先使用 bubble_sort 函数将列表进行排序,然后通过 for 循环遍历排序后的列表并输出结果。

冒泡排序算法的时间复杂度为 O(n^2),其中 n 是要排序的元素的数量。虽然冒泡排序算法在效率上可能不如其他复杂度较低的排序算法,但它的实现简单直观,且对于小规模的数据集来说,效率仍然可以接受。

希望以上代码和例子能帮助你理解冒泡排序算法的实现和使用。