選擇排序每次只記錄最大數的索引值. 類似於冒泡排序, 也是要比較n-1
次, 區別是冒泡排序每次都交換, 選擇排序只在最後比較完後才進行交換
#!/usr/bin/env python
# coding:utf-8
def selectSort(nums):
for i in range(len(nums)-1): # 要進行多少次
max_index = 0 # 記錄最大的數的位置
for j in range(len(nums)-i):
if nums[max_index] < nums[j]:
max_index = j
# 交換最大的數的位置
nums[len(nums)-i-1], nums[max_index] = nums[max_index], nums[len(nums)-i-1]
return nums
nums = [6,2,5,1,0,9,7,3,0,2]
print selectSort(nums)