选择排序

  1. 选择排序

    1
    选择排序是一种简单直观的排序方法,时间复杂度O(n²),所以使用的时候,数据规模越小越好。
  2. 算法步骤

    1
    2
    3
    首先从未排序序列中找到最小(大)元素,存放到已排序序列的起始位置。
    再从剩余未排序元素中继续寻找最小(大)元素,存放到已排序序列的末尾。
    重复第二步,直到所有元素均排序完毕
  1. 动图演示
    alt 演示

  2. Js实现

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function selectionSort(arr) {
    var len = arr.length;
    var minIndex, temp;
    for (var i = 0; i < len - 1; i++) {
    minIndex = i;
    for (var j = i + 1; j < len; j++) {
    // 寻找最小的数,将最小数的索引保存
    if (arr[j] < arr[minIndex]) {
    minIndex = j;
    }
    }
    if (minIndex !== i) {
    temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
    }
    }
    return arr;
    }
  3. Go实现

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    func selectionSort(arr[]int)[]int {
    length:= len(arr)
    for i := 0; i < length - 1; i++ {
    min:= i
    for j := i + 1; j < length; j++ {
    if arr[min] > arr[j] {
    min = j
    }
    }
    arr[i], arr[min] = arr[min], arr[i]
    }
    return arr
    }
-------------本文结束感谢您的阅读-------------
分享不易,请我喝杯咖啡吧~~~