#冒泡排序法:是一種簡單直觀的排序算法。
它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。
走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。
這個算法的名字由來是因為越小的元素會經由交換慢慢"浮"到數列的頂端。
#冒泡排序法一:從小到大排序
def bubbleSort(arr):
n=len(arr)
#遍歷所有數組元素
for i in range(n):
#從頭遍歷到已排序的數前
for j in range(0,n-i-1):
#當前數值與緊鄰的后一個數值比較,如果前面的數值大就相互調換
if arr[j] > arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
#測試
arr=[64,34,25,12,22,11,90]
bubbleSort(arr)
print("排序后的數組")
for i in range(len(arr)):
print("%d" %arr[i])
#冒泡排序法二:從大到小排序
def bubbleSort(arr):
n=len(arr)
#遍歷所有數組元素
for i in range(n):
#從頭遍歷到已排序的數前
for j in range(0,n-i-1):
#當前數值與緊鄰的后一個數值比較,如果前面的數值小就相互調換
if arr[j] < arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
#測試
arr=[64,34,25,12,22,11,90]
bubbleSort(arr)
print("排序后的數組")
for i in range(len(arr)):
print("%d" %arr[i])