设计一个子函数实现冒泡排序算法,并在子函数中打印每趟排序后的结果
时间: 2024-10-07 17:07:36 浏览: 25
设计一个子函数实现冒泡排序算法可以按照以下步骤进行:
```python
def bubble_sort(arr):
n = len(arr)
# 冒泡排序的遍历次数等于数组长度减一,因为最后一次内层循环肯定不会交换元素
for i in range(n - 1):
print(f"第{i+1}轮排序前:", arr)
# 每次外层循环都会确定一轮是否进行了完整的交换
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
# 交换相邻的两个元素
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 打印排序后的结果
print(f"第{i+1}轮排序后:", arr)
# 示例:
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
```
这个`bubble_sort`函数会先打印排序前的数组,然后开始冒泡过程,如果当前元素大于下一个元素则交换它们。每次内部循环结束后,它都会检查是否进行了完整的交换,如果没有,则说明已经有序,可以提前结束。每次外层循环完毕,就会打印一次排序后的结果。
阅读全文