Sedgewick, Robert. "Implementing quicksort programs." Communications of the ACM 21 , no. 10 (1978): 847-857.