「」」
created on sat aug 19 10:54:25 2017
bubblesort
@author: fanrupin
「」「def bubblesort(arr):
if arr==0 or len(arr)==1:
return 0
for i in range (len(arr)):
for j in range (len(arr)-i-1):#每次比較後,把最大放後面。如:第一次比較n-1次,第二次比較n-2次…
if arr[j]>arr[j+1]:#比較相鄰元素,大的放後面
arr[j],arr[j+1]=arr[j+1],arr[j]
print (arr)
return arr
ifname==」main「:
arr=[6,5,4,3,2,1,3]
print(『氣泡排序』)
bubblesort=bubblesort(arr)
print(bubblesort)
總結:氣泡排序時間複雜度為o(n^2),很慢,工程上很少應用。
排序系列 比較排序系列之 氣泡排序
氣泡排序屬於交換排序的一種典型的交換排序。交換排序的基本思想是 兩兩比較待排序的關鍵碼,發現記錄逆置則進行交換,知道沒有逆置對位置。對於氣泡排序而言,則就是單純的兩兩進行比較,知道不能再繼續冒泡為止。我們通過 45,34,78,12,34 32,29,64 陣列為例,進行講解。i值過程 i 0j 7...
排序演算法系列之氣泡排序
核心思想 氣泡排序是一種典型的 交換排序 通過比較相鄰元素大小來決定是否交換位置 如上圖所示,以一組資料 為例,進行氣泡排序的演算法演示 氣泡排序 c void swap int a,int b void bubblesort vector vi 演算法改進說明 1,對於是否已經是有序排列進行判斷 ...
Python之氣泡排序
氣泡排序 bubble sort 是一種簡單的 非常低效的排序演算法。氣泡排序依次地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤 如從大到小 首字母從a到z 就把他們交換位置,直到沒有相鄰元素需要交換,即該數列已經排序完成。這個演算法名字的由來是因為越大的元素會經由交換慢慢 浮 到數列的頂...