最近工作不忙,重温一下大学的算法学习,记录巩固一下。下面介绍一下选择排序.
选择排序原理?
选择排序(selection Sort)是一种简单直观的排序算法。其原理就是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
实现
这里实现就用简单的js做了,其他语言原理类似
//选择排序
function selectSort(arr){
for(let i=0;i<arr.length-1;i+=1){
let indexMin=i;
for(let j=i;j<arr.length;j+=1){
if(arr[j]<arr[indexMin]){
indexMin=j;
}
}
if(indexMin!==i){
let temp=arr[i];
arr[i]=arr[indexMin];
arr[indexMin]=temp;
}
}
return arr;
}