冒泡排序
难度:⭐⭐⭐
1. 题目描述
题目描述
冒泡排序(Bubble sort)是一种简单的排序算法
- 每次比较两个相邻的元素,如果顺序不对就进行交换。(一次循环下来最大的元素就会一步步的浮上去)
- 再在剩余的元素中重复步骤 1
2. 关键点
- 相邻元素两两比较
3. 代码实现
点击显示代码
python
import random
def sort_bubble(lst):
"""冒泡排序"""
lst_len = len(lst)
for i in range(lst_len):
for j in range(lst_len-1-i):
if lst[j+1] <= lst[j]:
lst[j], lst[j+1] = lst[j+1], lst[j]
print(i, lst[lst_len-1-i:])
lst = [random.randint(0, 10) for i in range(10)]
print(lst)
sort_bubble(lst)
print(lst)
4. 运行示例
txt
[10, 8, 0, 1, 4, 9, 8, 2, 3, 7]
0 [10]
1 [9, 10]
2 [8, 9, 10]
3 [8, 8, 9, 10]
4 [7, 8, 8, 9, 10]
5 [4, 7, 8, 8, 9, 10]
6 [3, 4, 7, 8, 8, 9, 10]
7 [2, 3, 4, 7, 8, 8, 9, 10]
8 [1, 2, 3, 4, 7, 8, 8, 9, 10]
9 [0, 1, 2, 3, 4, 7, 8, 8, 9, 10]
[0, 1, 2, 3, 4, 7, 8, 8, 9, 10]
5. 进阶思考
- 优化示例代码