代碼說明:
代碼全部使用go語言實現,並且都是經過好幾組數據測試通過,如有錯,還請反饋下,謝謝。
圖片說明:
圖片和動畫都是在百度搜索的,如有侵權,還望聯繫我刪除,謝謝
首先,找到數組中最小的那個元素,其次,將它和數組的第一個元素交換位置(如果第一個元素就是最小元素那麼它就和自己交換)。其次,在剩下的元素中找到最小的元素,將它與數組的第二個元素交換位置。如此往復,直到將整個數組排序。
代碼:
func SelectSort(array []int){
n := len(array)
min := 0
for i:=0;i<n-1;i++{
min = i
for j:=i+1;j<n;j++{
if array[min]>array[j]{
min = j
}
}
tmp := array[i]
array[i] = array[min]
array[min] = tmp
}
}
性質:1、時間複雜度:O(n2) 2、空間複雜度:O(1) 3、非穩定排序 4、原地排序