简单选择排序
简单选择排序
在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素和第n个元素比较完毕为止。时间复杂度为0(n^2)。
例子:8, 1, 10, 3, 7, 2, 6, 4, 9, 5 的选择排序过程。
第1轮排序结果:1,8,10,3,7,2,6,4,9,5
第2轮排序结果:1,2,10,3,7,8,6,4,9,5
第3轮排序结果:1,2,3,10,7,8,6,4,9,5
第4轮排序结果:1,2,3,4,7,8,6,10,9,5
第5轮排序结果:1,2,3,4,5,8,6,10,9,7
第6轮排序结果:1,2,3,4,5,6,8,10,9,7
第7轮排序结果:1,2,3,4,5,6,7,10,9,8
第8轮排序结果:1,2,3,4,5,6,7,8,9,10
第9轮排序结果:1,2,3,4,5,6,7,8,9,10
第10轮排序结果:1,2,3,4,5,6,7,8,9,10
最终结果:1,2,3,4,5,6,7,8,9,10
function selectsort(list) {
var temp;
var min;
for (var i = 0; i < list.length; i++) {
min = list[i];
temp = i;
for (var j = i; j < list.length; j++) {
if (list[j] < min) {
min = list[j];
temp = j;
}
}
var temp2;
temp2 = list[i];
list[i] = list[temp];
list[temp] = temp2;
console.log("第" + (i + 1) + "轮排序结果:" + list);
}
}
var a = [8, 1, 10, 3, 7, 2, 6, 4, 9, 5];
selectsort(a);
console.log("最终结果:" + a);