This repository has been archived on 2025-12-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2024-09-20 14:17:13 +03:00

25 lines
502 B
Python

def qsort(A, i, j):
if i >= j:
return
p = partition(A, i, j)
qsort(A, i, p-1)
qsort(A, p+1, j)
def partition(A, i, j):
pivot = A[j]
p = i
for q in range(i, j):
if A[q] < pivot:
A[p], A[q] = A[q], A[p]
p += 1
A[p], A[j] = A[j], A[p]
return p
if __name__ == "__main__":
A = [9, 7, 1, 8, 5, 3, 6, 2, 4]
print(A) # [9, 7, 1, 8, 5, 3, 6, 2, 4]
qsort(A, 0, len(A)-1)
print(A) # [1, 2, 3, 4, 5, 6, 7, 8, 9]