QuickSort 1.6 build: 9470 released: 2008-01-01 C.A.R. Hoare's Quicksort. Copyright: (c) 2012 Canadian Mind Products. Java class library. Download from: http://mindprod.com/products2.html#QUICKSORT ===> Free <=== Full source included. You may even include the source code, modified or unmodified in free/commercial open source/proprietary programs that you write and distribute. May be used freely for any purpose but military. For more details on this restriction, see http://mindprod.com/contact/nonmil.html If you include any Canadian Mind Products code in your own applications, your app too must be labeled non-military use only. All Java jars and source code are included. ---- Prerequisites: This program runs under any OS, (e.g. Win2K/XP/Vista/W7x86/W7-64/OSX/Linux/Solaris/AIX...) so long as you have <><> Java version 1.5 <><> or later installed (32-bit or 64-bit Java). See http://mindprod.com/jgloss/installingjava.html for details. ---- Installing on a PC: Download source and compiled class files to run on your own machine as a part of your own program. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. To install, extract the zip download with WinZip (or similar unzip utility) into any directory you please, often J:\ -- ticking off the "use folder names" option. ---- Installing on a MacIntosh: Use Safari to download source and compiled class files to run on your own machine as a part of your own program. Safari will automatically unpack the zip into ~/Downloads (version 10.5) [or on the Desktop (version 10.4 and earlier)]. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. You may optionally move the download tree to a permanent home. I don't have a MacIntosh, just a PC, so I can't test my Java programs for Mac compatibility. In theory they should work without problems, but in practice that does not always happen. If you have problems please, let me know, preferably with screenshots and complete verbatim error messages. ---- Rebuilding: You are pretty much on your own how to use this material. ---- Use: QuickSort an implementation of Tony Hoare's classic recursive QuickSort. QuickSort works by choosing a pivot point and ensuring all elements below the pivot point are "small" all above are "big", (i.e. smaller than the pivot) Then it recursively splites the upper and lower halves, repeating the process. QuickSort is an internal sort written in Java. Both RadixSort and HeapSort are quicker than QuickSort. QuickSort can also take pathologically long times if there is too much pre-existing order in the items to be sorted. This code is primarily for teaching purposes. It sorts using a routine you provide to compare two elements to be sorted. May be freely distributed and and used for any purpose except military. You can test it with java.exe com.mindprod.quicksort.TestQuickSort ---- Version History: 1.0 1998-01-01 initial version 1.1 1998-11-10 add name and address. 1.2 1998-12-28 JDK 1.2 style Comparator 1.3 2002-02-19 java.util.Comparator by default. 1.4 2002-03-30 tidy code. 1.5 2003-05-30 add dummy private constructor 1.6 2008-01-01 add generics to comparator -30-