js简单排序
原理:
每次都是从无序的序列中选择最小或是最大的记录,并加入在有序子序列中。
简单排序和直接插入排序原理很相似,但是元素移动的次数却不相同,直接插入是每次移动元素,知道找到合适的位置才结束,简单排序是找到最小或是最大的元素,最后才去交换,每一轮只有两个元素交换
性能:
代码如下:
let arr = [1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 8, 16];
function sort(arr) {
for (let i = 0; i < arr.length; i++) {
let min = i;
for (let j = i + 1; j < arr.length; j++) {
//在无序序列中找到最小的元素
if (arr[j] < arr[min]) {
min = j;
}
}
if (min != i) {
let current = arr[i];
arr[i] = arr[min];
arr[min] = current;
}
}
return arr
}