Python列表排序 冒泡 簡單應用

2021-10-09 04:50:00 字數 707 閱讀 1621

1.乙個無序的列表,不使用內建函式或方法,將其進行從小到大的排序(冒泡法)

從第乙個元素開始,比較相鄰元素的大小,若大小順序有誤,則對調後進行下乙個元素的比較。如此掃瞄過一次之後就可確保最後乙個元素位於正確的順序。接著再逐步進行第二次掃瞄,直到完成所有元素的排序關係為止。

如,3個數,需要比較2輪。第一輪比較2次,第二輪比較1次。(可以自己畫圖理解一下。因為每輪比較之後都可以確認最後乙個位置,所以比較次數-1)

# 乙個無序列表,排序;

def func(nums):

i = 1

while i < len(nums):

j = 0

while j < len(nums) - 1:

if nums[j] > nums[j + 1]:

nums[j], nums[j + 1] = nums[j + 1], nums[j]

j += 1

i += 1

return nums

if __name__ == '__main__':

a = [3, 2, 5, 1]

a = func(a)

print("最終結果為:{}".format(a))

結果:

Python對列表排序 氣泡排序

直接用列表自帶函式排序,sort 方法預設公升序,將引數reverse改為true,改為降序 list 7,4,3,67,34,1,8 list sort print list 1,3,4,7,8,34,67 list sort reverse true print list 67,34,8,7,4...

python資料列表氣泡排序 演算法

氣泡排序,確定位置找數字 alist def bubble sort array cnt len array if cnt 1 return array for i in range 0,cnt 確定位置,從起始位置開始,根據每個位置找到確定的數字 for j in range cnt 1,i,1 ...

Python 列表生成式,氣泡排序演算法

列表生成式語法 列表生成式的缺點 1.不方便除錯 2.不適合複雜的 排序演算法 使用現成的方法進行排序 倒序排序 blist.sort reverse true 倒序排序 print blist 氣泡排序 找n 1次較大值,兩兩相鄰元素對比,大的往後排。author 滿庭楓 alist 9,2,6,...