py 選擇排序

2022-02-24 14:54:00 字數 1099 閱讀 6014

# 選擇排序

# 一趟排序記錄最小值,放到第乙個位置

#再一趟排序記錄記錄列表無序區最小的數,放到第二個位置

#....

# 關鍵點:有序區、無序區、無序區最小值

#方法一

def select_sort1(li):

li2 =

for i in range(len(li)):

min_li = min(li) #此方法不建議,生成兩個陣列占用記憶體

li.remove(min_li)

return li2

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

print(select_sort1(li))

"""[1, 2, 3, 4, 5, 6, 7, 9]

"""#方法二 複雜度 o(n^2)

def select_sort2(li):

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

min_loc = i #定義無序區最小數字置

for j in range(i+1,len(li)): # 第乙個數就不用跟自己比,故i+1

if li[j] < li[min_loc]:

min_loc = j

li[i],li[min_loc] = li[min_loc],li[i]

print(li)

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

print("方法二:原列表:"+str(li))

select_sort2(li)

"""方法二:原列表:[2, 1, 3, 4, 7, 9, 5, 6]

[1, 2, 3, 4, 7, 9, 5, 6]

[1, 2, 3, 4, 7, 9, 5, 6]

[1, 2, 3, 4, 7, 9, 5, 6]

[1, 2, 3, 4, 7, 9, 5, 6]

[1, 2, 3, 4, 5, 9, 7, 6]

[1, 2, 3, 4, 5, 6, 7, 9]

[1, 2, 3, 4, 5, 6, 7, 9]

"""

py 選擇排序

選擇排序 一趟排序記錄最小值,放到第乙個位置 再一趟排序記錄記錄列表無序區最小的數,放到第二個位置 關鍵點 有序區 無序區 無序區最小值 方法一 def select sort1 li li2 for i in range len li min li min li 此方法不建議,生成兩個陣列占用記憶...

py 氣泡排序

import random 排序 將一組無序記錄序列調整為有序記錄序列 列表排序 將無序列表調整為有序列表 輸入 列表 輸出 有序列表 公升序與降序 內建函式sort 氣泡排序 bubble sort 1 列表每兩個相鄰的兩個數,若前面比後面的大,則交換這個數 2 一趟排序完成後,則無序列表減少乙個...

排序 選擇排序 選擇排序 堆排序

寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...