Class 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 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[0] 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