選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,
然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。
以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。
import random as rd
def select_sort():
# 從1到100中隨機抽5個數,當然也可以自己定義乙個陣列。
select_list = [rd.randint(1, 100) for i in range(5)]
# 陣列長度
length = len(select_list)
print(f'初始列表為:')
for i in range(length - 1):
# 第乙個元素設定為預設最小值
min_index = i
for j in range(i+1, length):
# 如果預設最小值比當前值要大,則把當前值設定為預設最小值
# 如果想把陣列排成降序,則把大於號改成小於號就可以。(當前為公升序)
if select_list[min_index] > select_list[j]:
min_index = j
# 交換位置
select_list[min_index], select_list[i] = select_list[i], select_list[min_index]
# 列印每一輪的排序情況
print(f'第輪排序是:')
print(f'最終排好序為:')
if __name__ == '__main__':
select_sort()
吾生也有涯,而知也無涯。--莊子《養生主》
Python 選擇排序
coding utf 8 選擇排序 在所有記錄中選擇最小的乙個元素,與第乙個記錄交換,依次,在其餘的記錄中選擇最小的元素與第二個元素交換 def sellectsort list list 4,1,9,13,34,26,10,7,4 m len list if m 2 如果是空表或只有乙個元素,返回...
python選擇排序
選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動到第二個5後面 data set 9,1,22,31,45,3,6,2,11 smallest num index 0 初始列表最小值,預設為第乙個 loop count 0 for j in ra...
選擇排序python
python 選擇排序 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。菜鳥教程的圖很清...