Python學習 實現《氣泡排序法》

2021-10-07 07:41:40 字數 1170 閱讀 7296

演算法思想:

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 內層迴圈...