Skip to content

Instantly share code, notes, and snippets.

@czheo
Created February 1, 2017 11:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save czheo/7421d305bb2e5d3049ce48545646d6f4 to your computer and use it in GitHub Desktop.
Save czheo/7421d305bb2e5d3049ce48545646d6f4 to your computer and use it in GitHub Desktop.
def quick_sort(numbers,left,right):
if right - left <= 0:
return numbers
tmp = numbers[left]
i = left + 1
j = right
while i < j:
while numbers[j] > tmp and i < j:
j -= 1
while numbers[i] <= tmp and i < j:
i += 1
numbers[i], numbers[j] = numbers[j], numbers[i]
if numbers[i] > numbers[left]:
numbers[i-1], numbers[left] = numbers[left], numbers[i-1]
else:
numbers[i], numbers[left] = numbers[left], numbers[i]
quick_sort(numbers,left,i-1)
quick_sort(numbers,i+1,right)
return numbers
test = [3,7,8,5,1,2,2,2,22,11,5,4]
print(quick_sort(test, 0, len(test) - 1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment