The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Sort::Radix - A multiple passes distribution sort algorithm

SYNOPSIS

  use Sort::Radix;
  
  @array = qw(flow loop pool Wolf root sort tour);
  radix_sort(\@array);
  print "@array\n";

DESCRIPTION

This is an implementation based on Jarkko's Wolf book (Mastering Algorithms with Perl, pp. 145-147).

By definition: radix sort is a multiple pass distribution sort algorithm that distributes each item to a bucket according to part of the item's key beginning with the least significant part of the key. After each pass, items are collected from the buckets, keeping the items in order, then redistribute according to the next most significant part of the key.

Radix sort is nice as it take N * M passes, where N is the length of the keys. It is very useful for sorting large volumes of keys of the same length, such as postal codes.

The algorithm will only works when the strings to be sorted are of the same length. Variable length strings therefore have to be padded with zeroes (\x00) to equalize the length.

BUGS

Unknown so far. But please kindly inform if you find one ;-)

HISTORY

v 0.04, Friday, January 21, 2005

Fixed warning caused by operator precedence and undefined error caused by misplacing the routines after __END__ marker.

SEE ALSO

Sort::Merge, Sort::Fields

IMPLEMENTOR

Edward Wijaya, <ewijaya@singnet.com.sg>

AUTHOR

Jarkko Hietaniemi, <jhi@iki.fi>

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Edward Wijaya

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 98:

'=item' outside of any '=over'

Around line 102:

You forgot a '=back' before '=head1'