def bubble(alist): """冒泡排序""" for j in range(0,len(alist)-1): count = 0 for i in range(0,len(alist)-1-j): if alist[i]>alist[i+1]: alist[i],alist[i+1] = alist[i+1],alist[i] count += 1 if 0 == count : break return alist
def selectionSort(alist): """选择排序""" for i in range(len(alist)-1): for j in range(i+1,len(alist)): if alist[i] > alist[j]: alist[i] , alist[j] = alist[j] , alist[i] return alist alist = selectionSort(alist) print("排序后:",alist)
def insertSort(alist): """插入排序""" for i in range(1,len(alist)): for j in range(i,0,-1): if alist[j-1] > alist[j]: alist[j] , alist[j-1] = alist[j-1] , alist[j] else: break return alist alist = insertSort(alist) print("排序后:",alist)
def fastSort(alist,first,last): """快速排序""" """ :first 左边开始点 :last 右边结束点 """ if last <= first: return mid_value = alist[first] left = first right = last while left < right: while left < right and alist[right] >= mid_value: right -= 1 alist[left] = alist[right]
while left < right and alist[left] < mid_value: left += 1 alist[right] = alist[left] # left == right alist[left] = mid_value fastSort(alist,first,left-1) fastSort(alist,left+1,last) # return alist fastSort(alist,0,len(alist)-1) print("排序后:",alist)