Sorting algorithms/Quicksort: Difference between revisions
Content added Content deleted
imported>MM m (→{{header|Python}}: : un-pythonic to have "else:" after "if condition: … return", as superfluous.) |
imported>MM (→{{header|Python}}: use speaking variable names.) |
||
Line 8,010: | Line 8,010: | ||
=={{header|Python}}== |
=={{header|Python}}== |
||
<syntaxhighlight lang="python">def |
<syntaxhighlight lang="python">def quick_sort(sequence): |
||
lesser = [] |
|||
equal = [] |
|||
greater = [] |
|||
if len( |
if len(sequence) <= 1: |
||
return |
return sequence |
||
pivot = |
pivot = sequence[0] |
||
for |
for element in sequence: |
||
if |
if element < pivot: |
||
lesser.append(element) |
|||
elif |
elif element > pivot: |
||
greater.append(element) |
|||
else: |
else: |
||
equal.append(element) |
|||
lesser = quick_sort(lesser) |
|||
greater = quick_sort(greater) |
|||
return |
return lesser + equal + greater |
||
a = [4, 65, 2, -31, 0, 99, 83, 782, 1] |
a = [4, 65, 2, -31, 0, 99, 83, 782, 1] |
||
a = |
a = quick_sort(a) |
||
</syntaxhighlight> |
</syntaxhighlight> |
||