氣泡排序屬交換排序, 最簡單的一種排序演算法
排序思路:
n為陣列長度,經過n趟比較,每趟比較相鄰的兩元素,將較大元素放到最後,當有一趟比較中沒有交換時退出
import util
#氣泡排序
class bubblesort:
def sort(self,arrdata):
length = len(arrdata);
for i in range(0,length):
isnoswap = true;
for j in range(0,length - i - 1):
if arrdata[j] > arrdata[j + 1]:
isnoswap = false;
util.swap(arrdata,j,j+1);
if isnoswap:
break;
arr = [7,2,5,3,1,8,6,100,48,38,45,20,34,67,12,23,90,58];
#[3, 1, 7, 5, 6, 8, 12, 2];
#[7,2,5,3,1,8,6,100,48,38,45,20,34,67,12,23,90,58];
print(arr);
busort = bubblesort();
busort.sort(arr);
print(arr);
氣泡排序的時間複雜度較差,為o(n2),空間複雜度為o(1)
氣泡排序的Python實現
最近被考到乙個簡單演算法 氣泡排序,彷彿是大三的時候學過,大概原理還記得一點,現在除錯了一下把完整 寫出來了,記錄一下。usr bin env python coding utf 8 def bubble sort list len of list len list while len of lis...
python氣泡排序的實現
usr bin env python coding utf 8 author richard kong 氣泡排序 是一種簡單的排序演算法。它重複的遍歷要排序的數列,一次比較量兩個元素,如果他們的順序錯誤就把他們的順序交換過來。遍歷數列的工作時重複的進行直到沒有再需要交換,也就是說該數列已經排序完成。...
氣泡排序(python實現)
coding utf 8 created on tue jul 4 11 37 19 2017 data list cnt num all 0 def data in func data list,cnt num all while true judge continue input 請選擇是輸入資...