Given a non-empty array of unique integers, sort the array in ascending order using the QuickSort algorithm.
QuickSort is a popular and efficient sorting algorithm comparable to Merge Sort and Heap Sort.
QuickSort is a recursive algorithm and consists of two major steps:
- Selecting a "pivot element".
- "Partitioning" elements in the array relative to selected pivot element.