quicksort variations completed