排序演算法 (三)選擇排序

2021-10-06 10:47:01 字數 731 閱讀 6533

# 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 作為下一輪比較的最小值,然後繼續比較.選擇排序演算法原理很簡單,就是每次把未排...