美文网首页
前端-简单选择排序

前端-简单选择排序

作者: FConfidence | 来源:发表于2018-09-07 23:29 被阅读14次
    1. 简单选择排序

      假设排序表为L[1...n] 第i趟排序即从L[i...n]中选择关键字最小的元素与L[i]进行交换, 每一趟排序可以确定一个元素的最终位置
      这样, 经过n-1趟排序就可以使得整个排序表有序

      • 空间: O(1)
      • 时间: O(m^2)
      • 稳定性: 不稳定
      • 元素的比较次数 n(n-1)/2
    function SimpleSort(arr) {
      let i, j, len = arr.length,
        temp;
      let min; // 记录当前遍历过程中最小的元素的索引
      for (i = 0; i < len - 1; i++) {
        min = i;
        for (j = i + 1; j < len; j++) {
          if (arr[j] < a[min]) {
            min = j;
          }
        }
        // 找到当前遍历中最小的元素的索引为i
        if (min != i) { // 保证当前元素不为当前最小元素的时候才进行交换
          temp = arr[min];
          arr[min] = arr[i];
          arr[i] = temp;
        }
      }
    }
    
    var a = [5, 2, 4, 3, 8, 6, 9, 0, 1, 7];
    SimpleSort(a);
    console.log(a);
    

    相关文章

      网友评论

          本文标题:前端-简单选择排序

          本文链接:https://www.haomeiwen.com/subject/iqohgftx.html