选择排序
//选择排序
//时间复杂度为O(n*n) 时间复杂度为O(1)
//是不稳定的排序,如果有数组[2,5,7,2,1,9]在排序过程中会把第一个2与1交换,
//此时原序列中的两个2的顺序就破坏了。
var arr = [1, 6, 8, 5, 2, 9];
len = arr.length;
//首先遍历数组次数,到达最后一个数的时候就不用比较了
for (var i = 0; i < len - 1; i++) {
//默认最小序列为i
minfigure = i;
//遍历剩下所有序列,找到最小数的序列号
for (var j = i + 1; j < len; j++) {
//比较两数,获取最小数的序列号
if (arr[j] < arr[minfigure]) {
//记录最小序列号
minfigure = j;
}
}
//进行排序交换
var temp = arr[i];
arr[i] = arr[minfigure];
arr[minfigure] = temp;
}
console.log(arr);