edu.princeton.cs.algs4

## Class Quick

• Object
• edu.princeton.cs.algs4.Quick

• ```public class Quick
extends Object```
The `Quick` class provides static methods for sorting an array and selecting the ith smallest element in an array using quicksort.

For additional documentation, see Section 2.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

Author:
Robert Sedgewick, Kevin Wayne
• ### Method Summary

All Methods
Modifier and Type Method and Description
`static void` `main(String[] args)`
Reads in a sequence of strings from standard input; quicksorts them; and prints them to standard output in ascending order.
`static Comparable` ```select(Comparable[] a, int k)```
Rearranges the array so that `a[k]` contains the kth smallest key; `a` through `a[k-1]` are less than (or equal to) `a[k]`; and `a[k+1]` through `a[n-1]` are greater than (or equal to) `a[k]`.
`static void` `sort(Comparable[] a)`
Rearranges the array in ascending order, using the natural order.
• ### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Method Detail

• #### sort

`public static void sort(Comparable[] a)`
Rearranges the array in ascending order, using the natural order.
Parameters:
`a` - the array to be sorted
• #### select

```public static Comparable select(Comparable[] a,
int k)```
Rearranges the array so that `a[k]` contains the kth smallest key; `a` through `a[k-1]` are less than (or equal to) `a[k]`; and `a[k+1]` through `a[n-1]` are greater than (or equal to) `a[k]`.
Parameters:
`a` - the array
`k` - the rank of the key
Returns:
the key of rank `k`
Throws:
`IllegalArgumentException` - unless `0 <= k < a.length`
• #### main

`public static void main(String[] args)`
Reads in a sequence of strings from standard input; quicksorts them; and prints them to standard output in ascending order. Shuffles the array and then prints the strings again to standard output, but this time, using the select method.
Parameters:
`args` - the command-line arguments