__________________________________________________
The author of this program accepts no responsibility for damages resulting from the use of this product and make no warranty or representation, either expressed or implied, including but not limited to, any implied warranty of merchantability or fitness for a practical purpose.
These software packages are provided here "AS IS", and you the user, assume all risks when using them.
The QuickSort is among one of the fastest sorting algorithms. It is easy to find for free on the Internet.
What brings moreover abcQSort? AbcQSort is a cunning sorting tool for Delphi REALLY FASTER than other QuickSort methods you could find in Pascal.
The objectives which prevailed in its development are the following ones:
![]() | MAXIMAL SPEED
| ||||||
![]() | DATA TYPE INDEPENDENCE
| ||||||
![]() | NO SUPPLEMENTARY CONSUMPTION OF MEMORY
|
I invite you to use the test bench (TstBench) included in the shareware
package to compare aqcQSort with the best sorting algorithms you have. You will
be astonished.
![]() | unequalled sorting speed |
![]() | fast implementation |
![]() | easy creation of specific sortings by addition of new comparison
criterions |
![]() | sorting by the QuickSort method |
![]() | simple, easy to use |
![]() | ascending or descending |
![]() | independence between the method and the numeric data types (before compilation) |
![]() | Ascii or Ansi string sorting |
![]() | TStringList sorted with their associated objects |
![]() | shareware version limited to long integer and TStringList sorting (because the shareware version is compiled and doesn't include the source code). |
![]() | Windows 95/98 / Windows NT 3.5 or 4 / Windows 2000 |
![]() | Delphi (TestBench in version 4 or 5) |
__________________________________________________
In the shareware non-registered version, only the integer (longint) and TStringList sorting function are available, because unlike the registered version, the source code is not included and so the sort procedures are pre-compiled.
The registered version is datatype-independent and can be used with any data type. The sorting times of the shareware version are the same that the registered version.
The use of the registered source code of abcQSort consists in inserting a procedure like abcIntegerUp below before the procedure where it is called.
The visibility of the sorting procedure can be limited to the calling procedure by inserting the sorting procedure in the var section of the calling procedure.
This solution can appear strange but it is imposed by the criteria of performance desired. Two declaration lines are not shown for software protection reasons.
sample 1:
procedure AbcIntegerUp (var Arry : array of integer);
var
Mid : integer; // quicksort middle element
begin
abcQSort (0, Length (Arry) -1); // 1st and last array elements
end;
sample 2:
procedure AbcTStringListUp (var Arry : array of
integer);
var
Mid : integer; // quicksort middle element
begin
abcQSort (0, Arry.Count -1); // 1st and last array elements
end;
The use of the unregistered precompiled dcu consists to :
1) copy the abcqsort.dcu unit in your directory project or in the Program_Files/Borland/Delphi?/Imports directory.
2) simply call the following pre-compiled sorting procedures according to your array data type :
Integer (longint) (*):
abcIntegerUp (YourArrayOfInteger);
abcIntegerDown (YourArrayOfInteger);
TStringList Ansi:
abcAnsiUp (YourTStringList);
abcAnsiDown (YourTStringList);
TStringList Ascii:
abcStrUp (YourTStringList);
abcStrDown (YourTStringList);
(*) the abcIntegerUp is precompiled only for dynamic arrays (array of integer) and not for statics arrays (array[1..n] of integer). The registered version works with any type of array since the source procedure is not type-dependent (the type is fixed at compilation time).
__________________________________________________
TstBench is the test bench tool included in the shareware package.
This tool is intended to help you to compare abcQSort with other quicksort (or any) sorting algorithms (written in Pascal), to show you that abcQSort is really faster.
To use TestBench with your own array and your own sorting algorithm, simply:
replace the random loop generator by the loading procedure for your array,
put your array size in edit1.text,
run TstBench with the abcQSort procedure and check the sort duration,
insert the code of your sorting algorithm,
replace the abcIntegerUp or abcStrUp procedure with your sorting procedure,
run TstBench and check your sort duration.
Please send your comments to michel.fornengo@laposte.net
__________________________________________________
Status : shareware. This package can be distributed freely.
current version 1.3 Aug 24, 2000Register abcQSort and you will get the full source code. Registration costs :
![]() | US $38 |
![]() | EURO 41 |
![]() | French Francs 270 |
You may register online at http://www.getsoftware.com.
AbcQSort home page: http://www.mfornengo.ath.cx.
copyright (c) Michel Fornengo 1999-2000
all rights reserved