1.算法原理:
冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2.数据交换的步骤演示:

3.代码实现
def bubble_sort(arr):
i = 0
while i < len(arr) - 1:
flag = False # 判断列表是否有序,如果本身就是个有序的列表,就不需要进行操作了
j = 0
while j < len(arr) - 1 - i:
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
flag = True # 如果交换过,就把flag置为True
j += 1
if not flag: # 如果flag是False说明一次也没交换过,列表现在已经是有序的,直接break掉
break
i += 1
网友评论