选择排序
时间复杂度
搜索整个表,找到最小项并与第一项交换位置。然后回到第二个位置,重新搜索余下项中最小项,与第二项交换位置并依次类推。知道运行到最后一个位置算法结束。
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进行两个循环
i: 第i次搜索,替换第i个项
j: 搜索过程中和最小项比较的指针(这里用指针这个词可能不太准确,说的不是c里面的那个指针)