1. 程式人生 > >python的氣泡排序法和快速排序法

python的氣泡排序法和快速排序法

快速排序法的核心在於:
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]
                print 
list 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): if
low < 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