0

クイックソートのコードにあるエラーを修正するのを誰かが手伝ってくれるかどうか疑問に思っていました.コンパイルされず、コードの最後の行が赤で強調表示されます. 何が悪いのかわかりません。sort はすでに関数として定義されているのに、なぜ赤で強調表示されているのですか?

def sort(*myarray):
    less = []
    equal = []
    greater = []

    if len(myarray) > 1:
        pivot = myarray[0]
        for x in myarray:
            if x < pivot:
                less.append(x)
            if x == pivot:
                equal.append(x)
            if x > pivot:
                greater.append(x)
        return sort(less)+sort(equal)+sort(greater)
    else:
        return myarray
print sort([12,4,5,6,7,3,1,15])
4

4 に答える 4

0

クイックソートの機能だとしたら、本当にソート機能が使えるのでしょうか?

このようなものは機能しませんか?

def qsort(list):
    pivind=0 
    left, right, pivot= [], [], []
    for x in list:
        if list[pivind]==x: pivot.append(x)
        elif list[pivind]>x: left.append(x)
        else: right.append(x)

    if len(left)>1: left=qsort(left)
    if len(right)>1: right=qsort(right)
    return (left + pivot + right)
于 2014-07-06T01:22:17.403 に答える