Python 實現經典排序演算法

2021-10-03 21:39:38 字數 811 閱讀 3343

穩定的排序演算法:氣泡排序、插入排序、歸併排序和基數排序。

不是穩定的排序演算法:選擇排序、快速排序、希爾排序、堆排序。

a=[80,15,45,35,88,46,55,66,22,99,0,-1,-100]

for j in range(0,len(a)):

for i in range(0,len(a)-1):

if a[i]>a[i+1]:

a[i], a[i + 1] = a[i + 1], a[i]

print(a)

a=[80,15,45,35,88,46,55,66,22,99,0,-1,-100]

for i in range(len(a),0,-1): //在這裡選擇排序選擇最大的數,進行比較

max=0

for j in range(1,i):

if a[j]>a[max]:

max=j

a[max],a[i-1]=a[i-1],a[max]

print(a)

a=[80,15,45,35,88,46,55,66,22,99,0,-1,-100]

a.sort(reverse=true)//reverse=true倒序排序

print(a)

users = [, ]

sorted(users, key=lambda x:x['age'])

//key=lambda x:x['age'] 根據「age」屬性進行排序

[, ]

Python實現經典排序演算法

import random lis list range 100 random.shuffle lis print lis def bubblesort arr for i in range 1 len arr for j in range 0 len arr i if arr j arr j 1 ...

Python實現經典排序演算法 堆排序

上次說到了經典演算法選擇排序,感覺是比較簡單的演算法,這一次說一說稍微有點難度的堆排序。堆排序的時間複雜度要明顯優於前面的氣泡排序,插入排序和選擇排序 侷限於n較大時 先來講講堆 二叉堆 是乙個陣列,它可以近似被看作是乙個完全二叉樹。樹上每乙個節點對應乙個元素,除了最底層外,該樹是完全充滿的,而且是...

Python實現經典排序演算法 氣泡排序

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