天天看點

Python進階-算法-選擇排序

版權聲明:如需轉載,請注明轉載位址。 https://blog.csdn.net/oJohnny123/article/details/82085604

# 選擇排序
data_set = [9, 1, 22, 31, 45, 3, 6, 2, 11]


smallest = 0  # 初始清單最小值,預設為第一個

loop_count = 0
for j in range(len(data_set)): #按清單下标從0位數開始處理
    for i in range(j, len(data_set)):  #
        if data_set[i] < data_set[smallest]:  # 目前值 比之前選出來的最小值 還要小,那就把它換成最小值
            smallest = i
            print(smallest)
        loop_count += 1
    else:
        print("smallest num is ", data_set[smallest])
        tmp = data_set[smallest]
        data_set[smallest] = data_set[j]
        data_set[j] = tmp

    print(data_set)
    print("loop times", loop_count)