-5

Python のこのソート関数が機能しない理由を教えてください :)

 def sort(list):
    if len(list)==0:
        return list
    elif len(list)==1:
        return list
    else:
        for b in range(1,len(list)):
            if list[b-1]>list[b]:
                print (list[b-1])
                hold = list[b-1]
                list[b-1]=list[b]
                list[b] = hold
a = [1,2,13,131,1,3,4]
print (sort(a))
4

3 に答える 3

0

それが機能する場合、それは世界で最高の並べ替えアルゴリズム (O(n)) になります。アルゴリズムは、最大の要素のみをリストの最後に配置します。関数を list[:-1] に再帰的に適用する必要があります。Python の予約語は使用しないでください

于 2013-10-24T19:41:46.653 に答える