穩定的排序演算法:氣泡排序、插入排序、歸併排序和基數排序。
不是穩定的排序演算法:選擇排序、快速排序、希爾排序、堆排序。
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.演算法思想 比較相鄰...