Python 排序演算法

2021-09-09 08:45:19 字數 1528 閱讀 1715

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...