使用Python编写冒泡排序函数
发布时间:2023-06-24 17:58:16
冒泡排序是一种简单直观的排序算法,基本思路是比较相邻两个元素的大小,并依据大小关系交换它们的位置,这样一趟循环下来,最大的元素就会被交换到已排序的最后一个位置。重复执行这样的循环,直到所有元素都被排序完成。下面是一个基于Python的冒泡排序函数的实现:
def bubbleSort(arr):
n = len(arr)
# 外层循环代表需要比较的次数
for i in range(n):
# 内层循环用于比较交换相邻的元素
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
这个函数接收一个列表作为参数,并通过两层嵌套的循环完成了排序的过程。其中,外层循环用于控制需要比较的次数,而内层循环则用于比较相邻的元素并完成交换。
我们可以使用以下代码来测试这个函数:
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i],end=" ")
输出结果如下:
排序后的数组: 11 12 22 25 34 64 90
可以看到,函数成功地将输入的列表按升序进行了排序。
当然,由于冒泡排序的时间复杂度为O(n^2),所以在处理大型数据时效率较低。因此,对于实际应用而言,我们更推荐使用更加高效的排序算法,如快速排序和归并排序。但是,冒泡排序仍然具有一定的教学意义和实际应用场景,例如针对小型数据的排序或作为其他算法的子程序等。
