怎么用python写冒泡排序
时间: 2023-11-25 17:05:29 浏览: 48
以下是使用Python编写冒泡排序的示例代码:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后 i 个元素已经排好序了
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]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i])
```
输出结果:
```
排序后的数组:
11
12
22
25
34
64
90
```
代码说明:
1. 定义了一个名为 `bubble_sort` 的函数,它的参数是一个列表 `arr`。
2. 在函数内部,首先获取 `arr` 的长度 `n`。
3. 然后使用两个嵌套的循环来遍历所有的数组元素。外部的循环用于确定排序的轮数,内部的循环用于比较相邻的元素并交换它们的位置。
4. 在内部循环中,`j` 的范围为 `0` 到 `n-i-1`,因为每一轮排序都会将最大的元素移到最后,所以后面的元素已经排好序了。
5. 如果当前元素大于下一个元素,则交换它们的位置。
6. 在示例中,定义了一个包含七个整数的数组 `arr`,并将其传递给 `bubble_sort` 函数。最后,使用循环遍历排序后的数组,并输出每个元素的值。
阅读全文