"""
选择排序
选择排序(Selection sort)是一种简单直观的排序算法。
它的工作原理如下。
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,
然后,再从剩余未排序元素中继续寻找最小(大)元素,
然后放到已排序序列的末尾。
以此类推,直到所有元素均排序完毕。
"""
def selectSort(Arr):
# 首先在未排序的数组中找最小的一个,需要把最小值的索引位置记录下来j
for i in range(len(Arr)):
index = i # index记录最小值的索引
min = Arr[i]
for j in range(i+1,len(Arr)):
if Arr[j] <= min:
min = Arr[j]
index = j
else:
continue
# 找到未排序中的最小值min,将首元素与最小值位置互换
Arr[i],Arr[index] = min,Arr[i]
return Arr
def selectSort1(Arr):
for i in range(len(Arr)):
min_index = i # 把第一个元素当作最小值
for j in range(i+1,len(Arr)):
if Arr[j] <= Arr[min_index]: # 向后遍历,找到比最小值小的元素,更新最小值
min_index = j
# 将最小值位置与首元素位置互换
Arr[i],Arr[min_index] = Arr[min_index],Arr[i]
return Arr
if __name__ == '__main__':
a = [4,2,3,8,5,6,7,8,3,2]
# print(selectSort(a)) # 哇,一步到位,舒服了
print(selectSort1(a))
选择排序
最新推荐文章于 2020-07-30 16:21:38 发布