quicksort part 1
quicksort part 2
quicksort part 3