QuickSort

O(nlgn) average, worstO(n^2)
improved BubbleSort