基本思想
每一次從待排序的序列中找出最小或最大的那一個(gè),然后存放在序列的起始位置膏秫,然后繼續(xù)找第二小或第二大的那一個(gè)喘落,存放在序列的第二個(gè)位置,知道全部待排序的數(shù)據(jù)排序完成蟹倾。
python實(shí)現(xiàn)
#!/usr/bin/python
# encoding: utf-8
# 選擇排序
def selectSort(alist):
# 遍歷的次數(shù)
for i in range(0, len(alist)):
# 存儲(chǔ)的位置
flag = i
for j in range(i+1, len(alist)):
# 如果比當(dāng)前位置的值還要小匣缘,則更新位置
if alist[flag] > alist[j]:
flag = j
# 找到最大的位置后,交換位置
alist[flag],alist[i] = alist[i],alist[flag]
a = [5,2,1,3,7,9,8,4,6]
selectSort(a)
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]