用python写个冒泡排序
时间: 2023-10-22 21:08:56 浏览: 66
好的,这是用 Python 实现的冒泡排序算法:
```
def bubble_sort(lst):
# 定义一个变量来跟踪列表是否已经排好序
is_sorted = False
# 只要列表还没有排好序就继续循环
while not is_sorted:
# 假设列表已经排好序
is_sorted = True
# 遍历列表中的每个元素,检查是否需要交换位置
for i in range(len(lst) - 1):
# 如果当前元素比后面的元素大,则交换位置
if lst[i] > lst[i + 1]:
lst[i], lst[i + 1] = lst[i + 1], lst[i]
# 因为有交换操作,所以列表还没有排好序
is_sorted = False
# 返回排好序的列表
return lst
```
使用方法:
```
# 定义要排序的列表
lst = [5, 2, 7, 3, 1]
# 调用冒泡排序函数
sorted_lst = bubble_sort(lst)
# 输出排好序的列表
print(sorted_lst) # 输出 [1, 2, 3, 5, 7]
```
冒泡排序是一种简单但不够高效的排序算法,它的时间复杂度是 O(n^2),在排序大型列表时效率较低。如果你需要排序大型列表,建议使用其他算法,比如快速排序或归并排序。
阅读全文