選擇排序
時間復雜度
搜索整個表,找到最小項并與第一項交換位置肄满。然后回到第二個位置谴古,重新搜索余下項中最小項,與第二項交換位置并依次類推稠歉。知道運行到最后一個位置算法結束掰担。
def selectionSort(lyst):
i = 0
while i < len(lyst) - 1:
minIndex = 1
j = i + 1
while j < length(lyst):
if lyst[j] < lyst[midIndex]:
minIndex = j
j += 1
if midIndex != i:
swap(lyst,midIndex,i)
i += 1
def swap(lyst,i,j):
temp = lyst[i]
lyst[i] = lyst[j]
lyst[j] = temp
邏輯和變量:
通過i, j進行兩個循環(huán)
i: 第i次搜索,替換第i個項
j: 搜索過程中和最小項比較的指針(這里用指針這個詞可能不太準確怒炸,說的不是c里面的那個指針)