Quicksort Algorithm
116,711 Views
-
# A divide-and-conquer sorting algorithm that divides an array into subarrays by selecting a pivot element. # Elements less than the pivot are sorted to left of the pivot, and elements greater than the pivot are sorted to the right. # The algorithm then divides into subarrays on either side of the pivot, and continues the process, selecting a new pivot each time. # At the end each of the sorted subarrays is merged together to get a fully sorted array. # This is a recursive implementation, where the function calls itself to quick sort the divided arrays. # The base case (the condition to stop the recursion) is the array has only one element. # This implementation always selects for the rightmost element as the initial pivot. # This is a generic implementation using parametric types, so you can provide your own type and your own comparison function as arguments. QuickSort<public>(Array:[]t, Compare(L:t, R:t)<decides><transacts>:t where t:type)<transacts>:[]t= QuickSortAtPivot(Array, 0, Array.Length - 1, Compare)
You're reading a preview
The full reference is free for BrainDeadGuild Discord members — sign in to read it all, or open the original at the source.
Sign in with your BrainDead.TV / BrainDeadGuild Discord account for full access.