Python代码编写案例:如何实现冒泡排序
发布时间:2023-12-04 20:28:31
冒泡排序是一种简单且直观的排序算法,它会多次遍历待排序的序列,每次比较相邻的两个元素,如果顺序不对则交换位置,直到整个序列都排好序为止。下面是一个使用Python实现冒泡排序的例子:
def bubble_sort(nums):
n = len(nums)
for i in range(n):
# 每一轮遍历找到最大的数,并将其放到最后
for j in range(0, n-i-1):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
# 测试代码
nums = [4, 5, 1, 2, 3]
bubble_sort(nums)
print(nums)
上述代码定义了一个bubble_sort函数,它接受一个列表作为参数并对其进行排序。该函数使用了两个嵌套的循环,外层循环控制遍历的轮数,内层循环用于比较相邻元素并进行交换。在每一轮遍历中,需要比较n-i-1次相邻元素,并将最大的数放在最后。
在上述代码的测试部分,我们创建了一个待排序的列表nums,包含了一些无序的整数。然后调用bubble_sort函数对该列表进行排序,并打印排序后的结果。
运行上述代码,输出结果为[1, 2, 3, 4, 5],说明冒泡排序正确地将列表排序成了升序。
冒泡排序的时间复杂度为O(n^2),其中n为待排序序列的长度。虽然冒泡排序在实际应用中不是最高效的排序算法,但它的实现简单,容易理解。因此,冒泡排序通常用于教学和理解算法的基本原理。
