go語言實現十大經典排序算法---選擇排序

代碼說明:

代碼全部使用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、原地排序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章