Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def qsort2(array):
- try:
- array,pI = partition(array)
- return qsort2(array[:pI])+[array[pI]]+qsort2(array[pI+1:])
- except:
- return array
- def partition(array):
- print("before: ",array)
- if len(array) > 1:
- pivot = array[0]
- pivIndex = 0
- i,j = 1,1
- while j < len(array) - 1:
- if array[j] < pivot:
- temp = array[i]
- array[i] = array[j]
- array[j] = temp
- i += 1
- j += 1
- temp = array[i-1]
- array[i-1] = array[pivIndex]
- array[pivIndex] = temp
- pivIndex = i-1
- print("after",array)
- return array,pivIndex
- else:
- print("after",array)
- return array
- print([3,8,2,5,1,4,7,6])
- print(qsort2([3,8,2,5,1,4,7,6]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement