Class AmericanFlag


  • public class AmericanFlag
    extends Object
    The AmericanFlag class provides static methods for sorting an array of extended ASCII strings or integers in-place using American flag sort. This is a non-recursive implementation.

    For additional documentation, see Section 5.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne and Engineering Radix Sort by McIlroy and Bostic. For a version that uses only one auxiliary array, see AmericanFlagX.

    Author:
    Robert Sedgewick, Kevin Wayne, Ivan Pesin
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void main​(String[] args)
      Reads in a sequence of extended ASCII strings or non-negative ints from standard input; American flag sorts them; and prints them to standard output in ascending order.
      static void sort​(int[] a)
      Rearranges the array of 32-bit integers in ascending order.
      static void sort​(String[] a)
      Rearranges the array of extended ASCII strings in ascending order.
      static void sort​(String[] a, int lo, int hi)  
    • Method Detail

      • sort

        public static void sort​(String[] a)
        Rearranges the array of extended ASCII strings in ascending order. This is an unstable sorting algorithm.
        Parameters:
        a - the array to be sorted
      • sort

        public static void sort​(String[] a,
                                int lo,
                                int hi)
      • sort

        public static void sort​(int[] a)
        Rearranges the array of 32-bit integers in ascending order. Currently, assumes that the integers are nonnegative.
        Parameters:
        a - the array to be sorted
      • main

        public static void main​(String[] args)
        Reads in a sequence of extended ASCII strings or non-negative ints from standard input; American flag sorts them; and prints them to standard output in ascending order.
        Parameters:
        args - the command-line arguments: "int" to read input as non-negative integers