1. 经典排序

1.1. 选择排序

  • 时间复杂度 O(n^2),空间复杂度 O(1)
  • 第一次,先找出最小(大)的值,放到第一的位置
  • 第二次,找出最小(大)的值,放到第二的位置
显示代码
 func selection(nums []int) []int {
    var min,k int
    numLen := len(nums)
    for i:=0;i<numLen;i++ {
        for j:=i;j<numLen;j++ {
            if j == i || nums[j] < min {
                min = nums[j]
                k = j
            }
        }
        nums[i],nums[k] = nums[k],nums[i]
    }
    return nums
 }

results matching ""

    No results matching ""