ABCQSORT

Description

Using ABCQSORT

    using the registered version of abcQSort

    using the unregistered version of abcQSort

Using the test bench

Registration

Disclaimer

 

 

__________________________________________________

Disclaimer

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.

Description

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
optimized coding (only Pascal, no assembler)
cunning structure

DATA TYPE INDEPENDENCE
no need to recopy the algorithm for each data type

 

NO  SUPPLEMENTARY CONSUMPTION OF MEMORY
direct sorting of the array to sort
no intermediate arrays
no intermediate index


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.


BENEFITS

unequalled sorting speed
fast implementation
easy creation of specific sortings by addition of new comparison criterions

FEATURES

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).
 

SYSTEM REQUIREMENTS

Windows 95/98  /  Windows NT 3.5 or 4    /  Windows 2000
Delphi (TestBench in version 4 or 5)

 

 

__________________________________________________

Using abcQSort

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.

Using the registered version of abcQSort :

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;

Using the unregistered pre-compiled version of abcQSort :

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).

__________________________________________________

 

Using the test bench

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

__________________________________________________

 

REGISTRATION

Status : shareware. This package can be distributed freely.

current version 1.3    Aug 24, 2000

Register 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