选择排序
function selectSort(ary) {
for(var i = 0; i < ary.length - 1; i++) {
var minIndex = i
for(var j = i; j < ary.length; j++) {
if(ary[j] < ary[minIndex]) {
minIndex = j
}
} //找到数组中最小的值
var tmp = ary[i]
ary[i] = ary[minIndex]
ary[minIndex] = tmp
}
return ary
}
选择排序相比冒泡排序各有特点。
- 选择排序交换次数少于冒泡排序。
- 冒泡排序内层循环如没交换就会返回,而选择排序内外两层循环都必须循环完。