用python實現冒泡,選擇,快速排序

冒泡:

import random
def paixu(*args):
    args = list(args)
    for n in range(len(args)-1):
        for i in range(len(args)-1-n):
            if args[i] > args[i+1]:
                args[i],args[i+1] = args[i+1],args[i]
    print(args)

選擇:

def paixu(*args):
    args = list(args)
    for i in range(len(args)-1):
        flag =  0
        s = len(args)-i
        for j in range(1,s):
            if args[flag] < args[j]:
                flag = j
        args[flag],args[s-1] = args[s-1],args[flag]
    print(args)

快速:

def paixu(ls,left,right):
    low = left
    high = right
    key = ls[left]
    while right > left:
        while right > left and ls[right] >= key:
            right -= 1
        ls[left] = ls[right]
        while right > left and ls[left] <= key:
            left += 1
        ls[right] = ls[left]
    ls[right] = key
    if low < left-1:
        paixu(ls,low,left-1)
    if left+1 < high:
        paixu(ls,left+1,high)
    return ls
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章