js选择排序

选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 

动态演示(寻找最小元素)

代码实现

let array = randomArray(1, 100);
console.log(array);
selectionSort(array);
console.log(array);
function selectionSort(array) {
  if (!Array.isArray(array)) {
    console.log("请传入数组");
    return false
  }
  for (let end = array.length - 1; end > 0; end--) {
    let maxIndex = 0;
    for (let begin = 0; begin <= end; begin++) {
      if (array[maxIndex] <= array[begin]) {
      maxIndex = begin
      }
    }
    [array[maxIndex], array[end]] = [array[end], array[maxIndex]];//ES6数组解构语法快速交换值
  }
  return array;
}
function randomArray(start,end){
  var a=[],o={},random,step=end-start;
  while(a.length<step){
    random=start+parseInt(Math.random()*step);
    if(!o["x"+random]){
      a.push(random);
      o["x"+random]=1;
    };
  };
  return a;
};

 

 

  

  

posted on 2020-10-22 16:27  ming1025  阅读(437)  评论(0编辑  收藏  举报