fezaoduke / fe-practice-hard

晚练课
69 stars 6 forks source link

第 87 期(算法-排序):经典排序算法之选择排序 #90

Open wingmeng opened 5 years ago

wingmeng commented 5 years ago

选择排序

选择排序(Selection sort)是一种简单直观的排序算法。

selectionSort

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;  // 将最小数的索引保存
      }
    }

    temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }

  return arr;
}