Merge pull request #23 from yyeltsyn/patch-2

Update quick_sort.py
This commit is contained in:
Chetan Kaushik 2016-08-29 21:53:21 +05:30 committed by GitHub
commit 8e98649dc7

View File

@ -35,21 +35,20 @@ def quick_sort(collection):
>>> quick_sort([-2, -5, -45]) >>> quick_sort([-2, -5, -45])
[-45, -5, -2] [-45, -5, -2]
""" """
if len(collection) <= 1:
return collection
less = [] less = []
equal = [] equal = []
greater = [] greater = []
if len(collection) > 1: pivot = collection[0]
pivot = collection[0] for x in collection:
for x in collection: if x < pivot:
if x < pivot: less.append(x)
less.append(x) elif x == pivot:
if x == pivot: equal.append(x)
equal.append(x) else:
if x > pivot: greater.append(x)
greater.append(x) return quick_sort(less) + equal + quick_sort(greater)
return quick_sort(less) + equal + quick_sort(greater)
else:
return collection
if __name__ == '__main__': if __name__ == '__main__':