選擇排序:
選擇排序(Selection sort)是一種簡單直觀的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 選擇排序的主要優(yōu)點與數(shù)據(jù)移動有關(guān)。如果某個元素位于正確的最終位置上,則它不會被移動。選擇排序每次交換一對元素,它們當(dāng)中至少有一個將被移到其最終位置上,因此對n個元素的表進(jìn)行排序總共進(jìn)行至多n-1次交換。在所有的完全依靠交換去移動元素的排序方法中,選擇排序?qū)儆诜浅:玫囊环N。
Python 實現(xiàn):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# selection_sort.py def selection_sort(arr): count = len (arr) for i in range (count - 1 ): # 交換 n-1 次 min = i # 找最小數(shù) for j in range (i, count): if arr[ min ] > arr[j]: min = j arr[ min ], arr[i] = arr[i], arr[ min ] # 交換 return arr my_list = [ 6 , 23 , 2 , 54 , 12 , 6 , 8 , 100 ] print (selection_sort(my_list)) |
原文鏈接:http://www.cnblogs.com/tingshuo123/p/6935445.html