选择排序(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; };