選擇排序

基本思想

每一次從待排序的序列中找出最小或最大的那一個,然后存放在序列的起始位置,然后繼續找第二小或第二大的那一個,存放在序列的第二個位置,知道全部待排序的數據排序完成。

python實現

#!/usr/bin/python
# encoding: utf-8

# 選擇排序
def selectSort(alist):
    # 遍歷的次數
    for i in range(0, len(alist)):
        # 存儲的位置
        flag = i
        for j in range(i+1, len(alist)):
            # 如果比當前位置的值還要小,則更新位置
            if alist[flag] > alist[j]:
               flag = j
        # 找到最大的位置后,交換位置
        alist[flag],alist[i] = alist[i],alist[flag]

a = [5,2,1,3,7,9,8,4,6]
selectSort(a)
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容