algorithm/quick_sort.py

17 lines
486 B
Python
Raw Normal View History

2024-11-23 05:33:27 +00:00
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
print(f"Left: {left}, Middle: {middle}, Right: {right}")
return quick_sort(left) + middle + quick_sort(right)
if __name__ == '__main__':
arr = [12, 11, 13, 5, 6, 7]
print(f"Original array: {arr}")
print(f"Sorted array: {quick_sort(arr)}")