它的工作原理是每一次從待排序的[數(shù)據(jù)元素]中選出最小(或最大)的一個元素,存放在序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最?。ù螅┰兀缓蠓诺揭雅判蛐蛄械哪┪?。以此類推,直到全部待排序的數(shù)據(jù)元素排完。
選擇排序是不穩(wěn)定的排序方法,時間復(fù)雜度為O(n^2),空間復(fù)雜度為O(1)
func selectSort(list:Array<Int>) -> Array<Int>{
var arr = list
for i in 0..<arr.count-1
{
for j in i+1..<arr.count
{
if (arr[i] > arr[j])
{
let temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
}
}
return arr
}