# author:閆振興
# contact: [email protected]
# datetime:2020/5/23 18:14
# software: pycharm
"""檔案說明:
"""#encoding:utf-8
# 選擇排序
# 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
# 再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
# 重複第二步,直到所有元素均排序完畢。
def selectsort(arr):
if len(arr) <= 0:
return
else:
for i in range(len(arr) - 1):
minindex = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[i]: # 此處判斷,表示按照從大排序還是從小排序
minindex = j
if minindex != i:
arr[i], arr[minindex] = arr[minindex], arr[i]
return arr
arr = [4, 54, 21, 34, 51, 241, 20, 145]
print(selectsort(arr))
排序演算法(三) 選擇排序
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始 末尾 位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙個5挪動...
排序演算法(三)選擇排序
基本思想 每一趟在後面n i 1個待排序的元素中找到最小的然後放置在第i個位置,就是位置0 length 1下標相當於是已經知道順序的了,然後在序列裡找每組序列的最小元素放在這個已知位置就可以了。基本思想 每一趟排序記錄當前元素的最終位置,設定乙個變數,每當要交換的時候,隨時更改變數的值 inclu...
排序演算法(三) 選擇排序演算法
選擇排序演算法首先從序列中選擇乙個元素arr i 通常是第乙個 作為當前最小值,然後把arr i 依次與序列中arr i 之後的元素作比較,如果有元素小於arr i 的,就讓它跟arr i 交換。然後再選擇arr i 1 作為下一輪比較的最小值,然後繼續比較.選擇排序演算法原理很簡單,就是每次把未排...