比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較
簡單來說就是遍歷需要排序序列的每個元素 迴圈比較相鄰兩個元素大小 前面的元素比後面大就調換位置在列表中較簡單的序列中
假設有這樣乙個列表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 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演...