[ Date Index ][
Thread Index ]
[ <= Previous by date / thread ] [ Next by date / thread => ]
Simon Waters wrote:
> A common approach to sorting, is to skip it and just return an index of
> the values.
I'm a big fan of that sort of thing.
> i.e. All we need in this circumstance is an array (non associative)
> myindex with values "3","1","0",2" so we can refer to
> alphabet[myindex[0]] and get the first value, alphabet[myindex[1]] to
> get the second. We don't need any hashes as provided by associative
> arrays as far as I can see?
PHP is a bit odd with its array types.
> #!/usr/local/bin/perl
> my @alphabet = ( "562389856", "123521623" , "898234234", "002342444" );
> print "@alphabet \n" ;
> my @myindex = sort { $alphabet[$a] <=> $alphabet[$b] } 0 .. $#alphabet ;
> print "@myindex \n" ;
> print "@alphabet[@myindex]\n";
As an aside, you want to watch leading zeros on number. Somone might
think they're octal :)
> Whether perl actually implements this efficiently underneath is another
> question entirely.
It uses quicksort.
It's worth noting that zero padded numbers can be compared using a
string comparitor, which is the default in perl.
Steve
PS I've just added 2 webmaster in a nutshell 3rd editions, can you
ditch them. Sorry :)
--
The Mailing List for the Devon & Cornwall LUG
Mail majordomo@xxxxxxxxxxxx with "unsubscribe list" in the
message body to unsubscribe.