程式如下:
def selection_sort(alist): n=len(alist) for i in range(n-1):#到n-1停止是因為最后一個肯定是最大的無須比較 min_index=i for k in range(i+1,n):#到n停止是因為到最后一個不一定是最小的,所以需要每一個都進行比較 if(alist[k]<alist[min_index]): min_index=k alist[i],alist[min_index]=alist[min_index],alist[i] return alist #還有一點沒有理解,繼續dig alist=[1,3,5,2,3,56,2] print(selection_sort(alist))
實作程式的思路是首先找到一個小區間內的元素,然后和小區間內每一個元素進行比較,如果這個元素是最小的,那么那到已排序最小元素的最右邊,如果不是,那么找到小區間內最小元素再拿到已排序最小元素的右邊,這樣就可以實作有趣的選擇排序啦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/67610.html
標籤:其他
