資料結構與演算法三(氣泡排序 選擇排序 插入排序)

2021-09-27 04:01:30 字數 1071 閱讀 9702

排序:將一組「無序」的記錄序列調整為「有序」的記錄序列(公升序與降序)

列表排序:將無序列表變為有序列表

def bubble_sortup(li):#氣泡排序公升序

for i in range(len(li)-1):#第i趟

exchange=false#增加乙個標誌位,當某一趟結束後列表順序沒有改變,說明列表已經排好

for j in range(len(li)-1):

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

li[j],li[j+1]=li[j+1],li[j]

exchange=true

print(li)

if not exchange:

return

def bubble_sortdown(li):#氣泡排序降序

for i in range(len(li)-1):

exchange=false#增加乙個標誌位,當某一趟結束後列表順序沒有改變,說明列表已經排好

for j in range(len(li)-1-i):

if li[j](2)選擇排序(select sort)

def select_sort(li):

for i in range(len(li)-1):#i表示第幾趟

min_loc=i

for j in range(i+1,len(li)):

if li[j](3)插入排序

def insert_sort(li):

for i in range(1,len(li)):#i表示摸到牌的下標

tmp=li[i]

j=i-1#j指的是手裡的牌的下標

while j>=0 and li[j]>tmp:

li[j+1]=li[j]

j-=1

li[j+1]=tmp

print(li)

li=[3,2,4,1,5,7,9,6,8]

print(li)

insert_sort(li)

資料結構與演算法 python排序演算法 氣泡排序

排序演算法 英語 sorting algorithm 是一種能將一串資料依照特定順序進行排列的一種演算法。排序演算法的穩定性 穩定排序演算法會讓原本有相等鍵值的紀錄維持相對次序。也就是如果乙個排序演算法是穩定的,當有兩個相等鍵值的紀錄r和s,且在原本的列表中r出現在s之前,在排序過的列表中r也將會是...

資料結構之簡單演算法(氣泡排序 選擇排序 插入排序)

簡單的js資料 實現氣泡排序 1.定義乙個簡單的無序陣列 var num 12,13,10,31,11,19 2.反向迴圈,每次剔除最右邊的數,因此次數越來越少 for var j num.length 1 j 0 j 選擇排序是對氣泡排序的改進,比氣泡排序的效率高一點,但與其他演算法比較效率較低 ...

資料結構與演算法 冒泡和選擇排序

資料結構研究資料之間的關係 1.集合結構 2.線性結構 3.圖形結構 4.樹形結構 鏈式儲存 堆疊 佇列陣列 樹二叉樹 圖乙個演算法的優劣程度可以用空間複雜度和時間複雜度來衡量。空間複雜度 是乙個演算法在執行過程中臨時占用儲存空間大小的度量 時間複雜度 是乙個演算法在執行過程中所需要計算的工作量 時...