选择排序
其原理为从数列中选择最小(最大)的数,将这个数放在合适位置,然后抛开这个数的子数列找到最小(最大)的数放到合适位置,然后一直到子数列为空为止,与冒牌排序稍微有不同的是,它不是相邻的两个数比较,而是某个数与数列中其他所有的数比较,挑出最小(最大)呢个数。
import random
import timeit
def randomList(n):
iList = []
for i in range(n):
iList.append(random.randrange(0,1000))
return iList
def bubblesort(iList):
if (len(iList)<=1):
return iList
for i in range(1,len(iList)):
for j in range(0,len(iList)-i):
if(iList[j]>iList[j+1]):
iList[j],iList[j+1] = iList[j+1],iList[j]
return iList
def selectsort(iList):
if(len(iList)<=1):
return iList
for i in range(0,len(iList)-1):
if iList[i] != min(iList[i:]):
minIndex = iList.index(min(iList[i:]))
iList[i],iList[minIndex] = iList[minIndex],iList[i]
return iList
if __name__ == "__main__":
iList = randomList(20)
print(iList)
print(selectsort(iList))