選擇排序
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
}
選擇排序相比冒泡排序各有特點。
- 選擇排序交換次數少於冒泡排序。
- 冒泡排序內層循環如沒交換就會返回,而選擇排序內外兩層循環都必須循環完。