Class MergeX


  • public class MergeX
    extends Object
    The MergeX class provides static methods for sorting an array using an optimized version of mergesort.

    In the worst case, this implementation takes Θ(n log n) time to sort an array of length n (assuming comparisons take constant time).

    This sorting algorithm is stable. It uses Θ(n) extra memory (not including the input array).

    For additional documentation, see Section 2.2 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
      • sort

        public static void sort​(Object[] a,
                                Comparator comparator)
        Rearranges the array in ascending order, using the provided order.
        Parameters:
        a - the array to be sorted
        comparator - the comparator that defines the total order
      • main

        public static void main​(String[] args)
        Reads in a sequence of strings from standard input; mergesorts them (using an optimized version of mergesort); and prints them to standard output in ascending order.
        Parameters:
        args - the command-line arguments