选择排序
有一个min变量,通过比较,改变min的值,从而找到最小的值,交换到前面。
代码如下:
#定义交换位置的函数 def swap(L, i, j): t = L[i] L[i] = L[j] L[j] = t return L #选择排序 def SelectSort(L): for i in range(0, len(L)): #假设第i个数字为最小值 min = i for j in range(i + 1, len(L)): #从第i+1个开始与L[min]比较 if L[min] > L[j]: #如果j比min小,就令min为j min = j #当循环结束时,看一下i还是不是min,如果不是,就说明找到一个最小值,交换 if i != min: L = swap(L, i, min) return L好处就是,不用每次比较完都做交换,只要利用min这个变量来记录当前最小值,一个循环之后就可以找到最小,并把它交换到前面去。感觉有点类似指针的移动。