From 38b19d1d7082b10d37f078686c0d23654698c26d Mon Sep 17 00:00:00 2001 From: SABHADIYA PARTH Date: Thu, 8 Oct 2020 09:11:27 +0530 Subject: [PATCH] Create quick-sort.py --- Intermediate/quick-sort.py | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Intermediate/quick-sort.py diff --git a/Intermediate/quick-sort.py b/Intermediate/quick-sort.py new file mode 100644 index 00000000..aa8e30af --- /dev/null +++ b/Intermediate/quick-sort.py @@ -0,0 +1,41 @@ +def partition(arr,low,high): + i = ( low-1 ) # index of smaller element + pivot = arr[high] # pivot + + for j in range(low , high): + + # If current element is smaller than or + # equal to pivot + if arr[j] <= pivot: + + # increment index of smaller element + i = i+1 + arr[i],arr[j] = arr[j],arr[i] + + arr[i+1],arr[high] = arr[high],arr[i+1] + return ( i+1 ) + + +def quickSort(arr,low,high): + if low < high: + + # pi is partitioning index, arr[p] is now + # at right place + pi = partition(arr,low,high) + + # Separately sort elements before + # partition and after partition + quickSort(arr, low, pi-1) + quickSort(arr, pi+1, high) + + +arr = [] +n = int(input("Length of array")) +for i in range (n): + arr.append(int(input("Enter elements"))) + +quickSort(arr,0,n-1) + +print ("Sorted array is:") +for i in range(n): + print ("%d" %arr[i]),