From 1e8301139a72c5a65ebf207c3170e5e653b01eea Mon Sep 17 00:00:00 2001 From: ergz Date: Sun, 20 Aug 2023 16:23:05 -0700 Subject: [PATCH] cant figure out qs in python --- python/quicksort.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 python/quicksort.py diff --git a/python/quicksort.py b/python/quicksort.py new file mode 100644 index 0000000..8e1533b --- /dev/null +++ b/python/quicksort.py @@ -0,0 +1,20 @@ +def partition(arr, lo, hi): + pivot_value = arr[hi] + current_index = lo - 1 + + for i in range(lo, hi): + if arr[i] <= pivot_value: + current_index += 1 + arr[current_index], arr[i] = arr[i], arr[current_index] + current_index += 1 + arr[hi] = arr[current_index] + arr[current_index] = pivot_value + return current_index + +def quicksort(arr, lo, hi): + if lo < hi: + part = partition(arr, lo, hi) + partition(arr, lo, part - 1) + partition(arr, part + 1, hi) + +