Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def counted_effective_sort_2(array):
- global counter
- counter += 1
- array = quickSort(array, 0)
- counter += 1
- return array
- def partition(A, left, right):
- global counter
- counter += 1
- i = left + 1
- counter += 1
- j = right
- counter += len(A)
- if len(A) == 0:
- counter += 1
- return A
- counter += 1
- while i <= j:
- counter += 1
- while A[i] < A[left] and i < right:
- counter += 1
- i += 1
- while A[j] > A[left] and j > left:
- counter += 1
- j -= 1
- counter += 1
- if i >= j:
- counter += 1
- break
- counter += 2
- A[i], A[j] = A[j], A[i]
- counter += 1
- i += 1
- counter += 1
- j -= 1
- counter += 2
- A[left], A[j] = A[j], A[left]
- counter += 1
- return j
- def quickSort(A, left=0, right=None):
- global counter
- counter += 1
- if right == None:
- counter += len(A)
- right = len(A) - 1
- counter += len(A)
- if len(A[left:right + 1]) < 2:
- counter += 1
- return A
- counter += 1
- p = partition(A, left, right)
- counter += 1
- quickSort(A, left, p - 1)
- quickSort(A, p + 1, right)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement