Program one: Easy to understand the wording
#!/usr/bin/env python
arr = [34, 80, 10, 8, 15, 20, 16, 48, 50, 36, 18]
size = Len (arr)
def partion (arr, start, end):
K = Start
i = Start
j = End
While J > I:
While J > I and Arr[j] >= Arr[k]:
j = J-1
If J > I:
temp = Arr[k]
ARR[K] = Arr[j]
ARR[J] = Temp
K = J
While J > I and Arr[i] <= Arr[k]:
i = i + 1
If J > I:
temp = Arr[k]
ARR[K] = Arr[i]
Arr[i] = Temp
K = i
Return K
def sort (arr, start, end):
If Start < end:
index = partion (arr, start, end)
Sort (arr, start, index)
Sort (arr, index + 1, end)
Print arr
Sort (arr, 0, size-1)
Print arr
Scenario Two: A little more convenient to the wording
#!/usr/bin/env python
arr = [34, 80, 10, 8, 15, 20, 16, 48, 50, 36, 18]
size = Len (arr)
def partion (arr, start, end):
i = Start
j = End
First = Arr[start]
While I < j:
While I < J and Arr[j] >= first:
j = J-1
Arr[i] = Arr[j]
While I < J and Arr[i] <= first:
i = i + 1
ARR[J] = Arr[i]
Arr[i] = first;
return I
def sort (arr, start, end):
If Start < end:
index = partion (arr, start, end)
Sort (arr, start, index)
Sort (arr, index + 1, end)
Print arr
Sort (arr, 0, size-1)
Print arr
Python Quick Sort Implementation