一、选择排序
时间复杂度为O(n^2)
初始状态:有序区为空,无序区为[0,…,n]
每次找到无序区里的最小元素,添加到有序区的最后
重复前面 的步骤,直到排序完成
二、画图演示
三、代码块
def selectSort(nums):
n=len(nums) #数组的长度
for i in range(n-1): #排序的次数n-1
#找无序区最小的元素
min_idx=i #代表无序区最小元素的索引
for j in range(i+1,n):
if nums[j]<nums[min_idx]:
min_idx=j
#执行完上面的循环后
#min_idx就是无序区中最小元素的索引
#把最小元素和有序区的后一个元素交换位置
nums[i],nums[min_idx]=nums[min_idx],nums[i],
test=[9,3,1,2,4,7]
selectSort(test)
print(test)