演算法思想:
step1:將第乙個資料和第二個進行比較,若第乙個資料大於第二的資料,則將第乙個資料(大數)和第二個資料(小數)交換位置。再將第二個資料和第三個比較,若第二個資料大於第三個資料,交換資料。依次類推,直到最大的數排到最後的位置上。第1個迴圈結束。
step2:將第乙個資料和第二個進行比較,若第乙個資料大於第二的資料,則將第乙個資料(大數)和第二個資料(小數)交換位置。再將第二個資料和第三個比較,若第二個資料大於第三個資料,交換資料。依次類推,直到次大的數排到倒數第二的位置上。第2個迴圈結束。
step3:…第3個迴圈結束。
…stepn:…第n個迴圈結束。資料已按從小到大排列完成並輸出。
**如下:
#測試資料
list1=[99
,2,4
,56,8
,22,5
,34,10
,5.5,6
,-5.2,0,
-1,22
,-99,
55,20,
32,15,
64]#氣泡排序法
def bubble_sort
(arr)
: array=arr
lenth=
len(array)
for i in
range(0
,lenth)
:for j in
range(0
,lenth-
1-i)
:if array[j]
>array[j+1]
: array[j]
,array[j+1]
=array[j+1]
,array[j]
return array
if __name__==
'__main__'
:print
("排序前:%s"
% list1)
print
("%s %s"%(
bubble_sort
(list1)
,"---氣泡排序:"
))
執行結果如下:
C和Python實現冒泡法排序
首先我們看冒泡法排序的原理,假設有乙個包含6個數字的陣列 其思路為 每次將相鄰兩個數比較,將小的調到前面,如果有6個數 8,7,5,4,2,0。第一次先將最前面的兩個數8和7對調 看下圖 第二次將第二個數和第三個數 8和5 對調.如此總計進行了5次,得到7 5 4 2 0 8的順序,可以看到 最大的...
python 冒泡法 快速排序法
import random 匯入隨機數 def bubble sort l 定義函式 for i in range len l 1 因為如果有n個數,如果n 1個都已經排列好了,所以就已經排列好了,所以要 1,也可以不用 1,但是會造成資源的浪費 for j in range len l i 1 因...
冒泡法python實現
usr bin env python coding utf8 def bubble sort alist 結算列表的長度 n len alist 外層迴圈控制從頭走到尾的次數 for j in range n 1 用乙個count記錄一共交換的次數,可以排除已經是排好的序列 count 0 內層迴圈...