python中氣泡排序的幾種應用場景

2021-10-12 10:14:41 字數 1359 閱讀 1239

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較

簡單來說就是遍歷需要排序序列的每個元素 迴圈比較相鄰兩個元素大小 前面的元素比後面大就調換位置

在列表中較簡單的序列中

假設有這樣乙個列表

ls = [9,4,2,7,5,9,2]

對ls氣泡排序的思路:

用兩個for巢狀迴圈遍歷

裡面的for遍歷元素通過下標獲取元素

外面的for遍歷排序的次數

for i in

range

(len

(ls)):

for num in

range

(len

(ls)-1

):if ls[num]

>ls[num+1]

: ls[num]

,ls[num+1]

=ls[num+1]

,ls[num]

print

(ls)--

--->[2

,2,4

,5,7

,9,9

]

對列表中字典元素根據字典的指定鍵對應的值進行排序

在students列表中 按照score值進行排序

students =[,

,,,,

]i =

0while i<

len(students)

:for x in

range

(len

(students)-1

):if students[x]

['score'

]>students[x+1]

['score']:

students[x]

,students[x+1]

= students[x+1]

,students[x]

i+=1print

(students)--

--->[,

,,,]

也可直接使用sort方法排序

students.sort(key=

lambda x:x[

'score'])

# sort底層呼叫foo方法

Python中氣泡排序

python中氣泡排序演算法 usr bin env python coding utf 8 date 2017 04 12 12 20 39 author xiaoke 氣泡排序 import random list data 迴圈10次,往列表中存放10個從0到20的隨機數 for i in r...

python中氣泡排序

氣泡排序 for 變數 in 序列 語句塊range函式的原型為 start,stop,step 起點,終點,步長 引數必須是整數型別使用兩個引數可以建立乙個 start,end 區間內的連續整數的列表,如果指定第三個引數,則建立該區間內的乙個公差為step的等差數列。a 3,6,4,2,11,10...

python中的氣泡排序 Python中的氣泡排序

氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演...