資料內(nèi)容:
冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復(fù)地遍歷
要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他
們交換過來。遍歷數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,
也就是說該數(shù)列已經(jīng)排序完成。
以下是一個(gè) Python 版本的冒泡排序?qū)崿F(xiàn):
def bubble_sort(lst):
n = len(lst)
for i in range(n):
# 標(biāo)記,表示這一趟是否有交換
flag = False
for j in range(0, n - i - 1):
# 如果前一個(gè)元素大于后一個(gè)元素,交換他們
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
# 有數(shù)據(jù)交換,則標(biāo)記為 True
flag = True
# 如果在一趟遍歷中,沒有數(shù)據(jù)交換,說明已經(jīng)有序,直接
結(jié)束
if not flag:
break
return lst