Python 写一个冒泡排序
时间: 2023-02-09 12:00:28 浏览: 115
下面是一个 Python 写的冒泡排序算法的示例:
```
def bubble_sort(list):
# 获取列表的长度
n = len(list)
# 重复遍历列表
for i in range(n):
# 设置一个标志,如果这一轮没有发生交换,则说明列表已经有序
# 可以退出循环
has_swap = False
# 遍历列表中的每一对相邻元素
for j in range(n - i - 1):
# 如果前一个元素比后一个元素大,则交换两个元素的位置
if list[j] > list[j + 1]:
list[j], list[j + 1] = list[j + 1], list[j]
has_swap = True
# 如果这一轮没有发生交换,则说明列表已经有序,可以退出循环
if not has_swap:
break
# 返回排序后的列表
return list
```
使用方法:
```
# 调用冒泡排序函数,对列表 [5, 2, 3, 1, 4] 进行排序
sorted_list = bubble_sort([5, 2, 3, 1, 4])
# 输出排序后的列表
print(sorted_list) # 输出:[1, 2, 3, 4, 5]
```
冒泡排序的时间复杂度为 O(n^2),在排序大型列表时效率较低。如果对性能要求较高,可以使用其他算法,如快速排序、归并排序等。
阅读全文