在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换;
第二次遍历n-2个数,找到最小的数值与第二个元素交换;
第三次遍历n-3个数,找到最小的数值与第三个元素交换;
…
第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。
class Solution:
def selectSort(self, nums: List[int]) -> List[int]:
# 遍历次数,每次来将最小的数值放到当次循环最前面
for i in range(len(nums) - 1):
min_mark = i
for j in range(i, len(nums)):
if nums[j] < nums[min_mark]:
min_mark = j
if min_mark != i:
temp = nums[i]
nums[i] = nums[min_mark]
nums[min_mark] = temp