Quick Sort: final version