js算法之选择排序

 选择排序

 简介

数组长度为N, 

第一次循环将0到N-1位置上最小的数和0位置上的数交换

第二次循环将1到N-1位置上最小的数和1位置上的数交换

...
 代码

  const select = function(arr) {

    if (arr.length < 2) {

      return false;

    }

  

    const indexEnd = arr.length - 1;

    for (let i = 0; i < indexEnd; i++) {

      for (let j = i + 1; j <= indexEnd; j++) {

        if (arr[i] > arr[j]) {

          const tmp = arr[j];

          arr[j] = arr[i];

          arr[i] = tmp;

        }

      }

    }

    return arr;

  };

  const newArr = select([3, 5, 7, 1, 4, 2]);

  console.log(newArr);
 时间复杂度

O(N^2)
阅读 148

推荐阅读