测试交流群 631450326
‘’’
优化的关键点 是对 有序区的 界定(在哪里开始有序)
我们在每一轮排序后,记录下最后一次元素交换的位置,那 该位置就是 无序区的边界 ,再往后 就是有趣
‘’’
def sort_bubble(tmp_list):
# 记录最后一次交换的位置
last_chage_index = 0
# 无序区的便捷,每次就比较到这里就行了
sort_border = len(tmp_list) -1
for i in range(len(tmp_list)):
is_sorted = True
for j in range(sort_border):
if tmp_list[j] > tmp_list[j + 1]:
tmp_list[j], tmp_list[j + 1] = tmp_list[j + 1], tmp_list[j]
is_sorted = False
last_chage_index = j
sort_border = last_chage_index
if is_sorted:
break
print(tmp_list)
sort_bubble([3,4,2,1,5,6,7,8,9])