一、演算法複雜度
二、演算法流程
1、遍歷每個資料,對每個資料和其後的資料進行比較,如果第乙個較大進行交換,相當於把最大值放到最後;
2、每次排序會去除掉最後乙個最大的值,再將前面部分進行排序一次;
三、**實現
def swap(arr, i, j):
tmp = arr[i]
arr[i] = arr[j]
arr[j] = tmp
def bubble_sort(s):
arr = s[:]
n = len(arr)
for i in range(1, n):
flag = true
for j in range(0, n - i):
if arr[j] > arr[j + 1]:
swap(arr, j, j + 1)
flag = false
if flag:
break
return arr
test = [32, 3, 5, 4, 7, 2, 12, 16, 18]
print(bubble_sort(test)) #[2, 3, 4, 5, 7, 12, 16, 18, 32]
十大經典排序演算法 氣泡排序
氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。usr b...
十大經典排序之氣泡排序
氣泡排序 氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個演算法的名...
十大經典排序演算法
載自 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排...