Python 冒泡排序法


#冒泡排序法:是一種簡單直觀的排序算法。

它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。

走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。

這個算法的名字由來是因為越小的元素會經由交換慢慢"浮"到數列的頂端。

#冒泡排序法一:從小到大排序

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])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM