冒泡排序是两两比较不断交换来实现排序,所以比较繁琐。
而选择排序 则是先选择要交换的那个数,才去交换。这样就可以省去很多不必要的步骤。
代码:
func swap<T>(inout array: [T], index1: Int, index2: Int){
var temp = array[index1]
array[index1] = array[index2]
array[index2] = temp
println("swap!")
}
//简单选择排序
func selectionSort(inout array: [Int]) {
if array.count > 1 {
var minValueIndex = 0
for (var i = 0; i < array.count; i++) {
minValueIndex = i
for (var j = i + 1; j < array.count; j++) {
if array[i] > array[j] {
minValueIndex = j
}
if minValueIndex != i {
swap(&array, index1: i, index2: minValueIndex)
}
}
}
}
println(array)
}