跳转至

选择排序#
发布于2020-11-21
上次编辑2021-02-25

选择排序即每次从当前位置之后选择一个比当前位置小的元素与当前位置进行交换,因为交换的存在,导致算法不是稳定的。

\([3_1,3_2,2]\) 第一次选择后变为了 \([2,3_2,3_1]\)

1
2
3
4
5
6
7
8
9
def selection_sort(nums: List[int]) -> None:
    n = len(nums)
    for i in range(n - 1):
        k = i
        for j in range(i + 1, n):
            if nums[j] < nums[k]:
                k = j
        if k != i:
            nums[i], nums[k] = nums[k], nums[i]
返回顶部

在手机上阅读