Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Sorting and ranking

by Lotus1 (Priest)
on Jan 21, 2018 at 21:09 UTC ( #1207640=note: print w/replies, xml ) Need Help??

in reply to Re: Sorting and ranking
in thread Sorting and ranking

This made more sense to me once I had a look at the array contents. The rank array stores the key names at the index locations corresponding to the values.

use strict; use warnings; use Data::Dumper; my %data = ( 'car' => 10, 'motorcycle' => 7, 'skate' => 7, 'board' => 2, 'roller' => 4, 'vase' => 4, 'bird' => 4, ); my ($n, @rank) = 1; foreach( keys %data){ $rank[ $data{$_} ] .= "$_\n" ; } print Dumper(\@rank); defined and $n += print s/^/$n - /gmr for reverse @rank; __DATA__ $VAR1 = [ undef, undef, 'board ', undef, 'vase bird roller ', undef, undef, 'motorcycle skate ', undef, undef, 'car ' ]; 1 - car 2 - motorcycle 2 - skate 3 - vase 3 - bird 3 - roller 4 - board

Replies are listed 'Best First'.
Re^3: Sorting and ranking
by tybalt89 (Priest) on Jan 22, 2018 at 21:05 UTC

    You've discovered my secret. Oh, wait, it's not a secret, it's a distribution sort.

    To see a hardware implementation of a distribution sort, check out IBM card sorter.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1207640]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2018-07-20 03:22 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (423 votes). Check out past polls.