python 排序演算法 (持續更新ing)
內建排序
氣泡排序(0(n^2))
插入排序
選擇排序
希爾排序
堆排排序
快排排序
歸併排序
#呼叫方法預設排序
a = [9,5,8,7,4,3,1,6,2,0]
a.sort()
print(a)
#呼叫方法預設排序
a = [9,5,8,7,4,3,1,6,2,0]
b = sorted(a)
print(a)
a = [5,8,9,3,2]
for i in range(len(a)-1):
for j in range(i+1,len(a)):
if a[i]>a[j]:
temp = a[i]
a[i] = a[j]
a[j] = temp
del temp
print(a)
#2 相鄰兩個數比 確定最大值
a = [5,8,9,3,2]
for i in range(len(a)-1):
for j in range(len(a)-1-i):
if a[j]>a[j+1]:
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
del temp
print(a)
#3 改進氣泡排序
a = [1,2,3,4,5,6,8,9,7]
count = 0
for i in range(len(a)-1):
flase = false
count += 1
for j in range(len(a)-1-i):
if a[j]>a[j+1]:
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
del temp
flag = true
if not flag:
break
print(count)
print(a)
# 選擇排序 兩個值進行交換 最後排序出結果
a = [5,8,9,3,2]
for i in range(0,len(a)-1):
min_index = i
for j in range(i+1,len(a)):
if a[min_index]>a[j]:
min_index = j
if min_index != i:
temp = a[i]
a[i] = a[min_index]
a[min_index] = temp
del temp
print(a)
排序演算法Python
廢話不說直接看 計數排序 def countsort datalist 最終排好序的陣列 b 0 len datalist 計算用來儲存計數的陣列c的長度 maxnum max datalist minnum min datalist clength maxnum minnum 1 c 0 clen...
排序演算法 python
author xcy 參考別人,盡量自己寫了 命名規則不太好,不建議用list命名,但不好改了。寫的過程中遇到的問題都寫在注釋中 以下方法都在pycharm中除錯過,python3.7,但測試用例不多,難免有錯誤望批評指正 剛發現shell排序 有問題,網上的部落格都是照搬的啊,錯的也搬。還有歸併和...
Python 排序演算法
lst 4,3,6,9,2,1 1 氣泡排序 依次把最大的數字往後移動 def bubble sort lst for i in range len lst 1 for j in range len lst 1 i if lst j 1 lst j lst j 1 lst j lst j lst j...