python的氣泡排序法和快速排序法
阿新 • • 發佈:2019-02-10
快速排序法的核心在於:
1.先從數列中取出一個數作為基準數。
2.分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。
3.再對左右區間重複第二步,直到各區間只有一個數。
#氣泡排序法 def bubling_sort(list): for i in range(len(list)-1): for j in range(len(list)-i-1): if list[j] > list[j+1]: list[j+1],list[j] = list[j],list[j+1] printlist def sub_sort(list,low,high): key = list[low] while low <high: if list[high] >= key: high -= 1 else: list[low] = list[high] low += 1 list[high] = list[low] list[low] = key return low #快速排序法 def quike_sort(list,low,high): iflow < high: key_index = sub_sort(list,low,high) quike_sort(list,low,key_index) quike_sort(list,key_index+1,high) if __name__ == "__main__": list = [12,56,84,3,63,37,43,2,66,90,21,44] # bubling_sort(list) quike_sort(list,0,len(list)-1) print list