O'Reilly logo

Java Cookbook by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Sorting in Java 1.1

Problem

You need to sort, but you’re still running on Java 1.1.

Solution

Provide your own sort routine, or use mine.

Discussion

If you’re still running on a Java 1.1 platform, you won’t have the Arrays or Collections classes and therefore must provide your own sorting. There are two ways of proceeding: using the system sort utility or providing your own sort algorithm. The former -- running the sort program -- can be accomplished by running an external program, which will be covered in Section 26.2. The code here re-casts the example from Section 7.9 into using our own Sort. The actual sorting code is not printed here; it is included in the online source files, since it is just a simple adaptation of the QuickSort example from the Sorting program in Sun’s Java QuickSort Applet demonstration.

public class StrSort1_1 {
    /** The list of strings to be sorted */
    static public String a[] = {
        "Qwerty",
        "Ian",
        "Java",
        "Gosling",
        "Alpha",
        "Zulu"
    };

    /** Simple main program to test the sorting */
    public static void main(String argv[]) {
        System.out.println("StrSort Demo in Java");
        StringSort s = new StringSort(  );
        dump(a, "Before");
        s.QuickSort(a, 0, a.length-1);
        dump(a, "After");
    }

    static void dump(String a[], String title) {
        System.out.println("***** " + title + " *****");
        for (int i=0; i<a.length; i++)
            System.out.println("a["+i+"]="+a[i]);
    }

}

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required