# Quick Sort Algorithm

1. Choose the pivot element: The right choice of pivot element can significantly reduce the complexity of the algorithm.
• If we choose the first, last or middle element, it makes the sorting complicated because it can be the case that the element might be either smallest or largest element, thus leaving one of the segment empty. One partition empty means we come across the original problem again.
• That is why we choose the median of the above three elements that is the first, last and the middle elements. If the size of array is n, then the ceiling of n/2 will be taken as the pivot element.
2. Partitioning the array: After choosing the pivot, we need to swap it with the last number. Now, the elements are arranged in such a way that the elements lesser than or equal to pivot must be at left side of pivot and elements greater than it to be on its right side. For this task, we’ll define two pointers say i and j, i at the first index and j will be pointing to the last index of array.
• While i< j, we’ll keep on incrementing i until we find an element greater than the pivot.
• And simultaneously we’ll keep on decrementing j, until it finds and element lesser than pivot.
• And when both the pointers exist the while loop, we’ll swap the elements pointing by i and j.
3. Restore the pivot: After completing the above steps, we’ll get sub-arrays and the pivot element in between the two partitions.
4. Now, recursively sort the left and right part of the pivot following the same procedure as above.  ## How Do We Partition

1. Define the pivot value as the contents of Table[First]
2. Initialize Up to First and down to Last
3. Repeat
• Increment Up until Up selects the first element greater than the pivot value
• Decrement Down until it selects the first element less than or equal to the pivot value
• If Up < Down exchange their values
• Until Up meets or passes Down
4. Exchange Table[First] and Table[Down]
5. Define Pivlndex as Down

### Find the best Quick Sort Algorithm Assignment Help Services with us

To schedule a Quick Sort Algorithm tutoring session