详解
简单来说,就是两两比较
冒泡排序是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
代码
def bubbleSort(arr):
n = len(arr)
# n-1的原因是:若列表为6个元素,两两比较,则只需要比较5次
for i in range(n-1):
# n-1-i的原因是:一次循环(两两比较之后),会得到一个最大值位于列表的最后,下次循环比较时,不需要再比较此值,所以循环的次数-i
for j in range(0, n-1-i):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
bubbleSort([64, 34, 25, 12, 22, 11])