Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Getting the order of an array

by tall_man (Parson)
on May 23, 2005 at 21:09 UTC ( #459720=note: print w/replies, xml ) Need Help??

in reply to Getting the order of an array

To get the OP's desired output, one needs another loop such as the one below:
use strict; my @vector = qw( 27 32 46 5 102 76 ); my @order = sort{ $vector[ $a ] <=> $vector[ $b ] } 0 .. $#vector; my $i = 1; my @order_it; foreach (@order) { $order_it[$_] = $i++; } print join(' ',@order_it),"\n"; print "@vector[ @order ]\n";

Update: Updated to show the correct way to get the second part of the OP's answer. In answer to BrowserUk's comment, I took the original question to mean that both outputs are required but that the OP didn't realize they could not both be supported by a single array.

Replies are listed 'Best First'.
Re^2: Getting the order of an array
by BrowserUk (Pope) on May 23, 2005 at 22:18 UTC

    I guess it depends upon whether you feel the intermediate ordering or the final ordering specified is the crux of what the OP is trying to achieve?

    use strict; my @vector = qw( 27 32 46 5 102 76 ); my @order = sort{ $vector[ $a ] <=> $vector[ $b ] } 0 .. $#vector; my $i = 1; my @order_it; foreach (@order) { $order_it[$_] = $i++; } print join(' ',@order_it),"\n"; print "@vector[ @order_it ]\n"; __END__ P:\test>junk 2 3 4 1 6 5 Use of uninitialized value in join or string at P:\test\ line 1 +1. 46 5 102 32 76

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://459720]
Corion joins another telephone call :-/
[Discipulus]: also The Life and Opinions of the Tomcat Murr
[Discipulus]: I dunno if i can read Dumas in french.. must try some chapter to see
erix . o O( "what fools the french are, Jeeves" )
[choroba]: Also some Достое́вс кий
[Discipulus]: mmh windows understand something like: cd c:\\\\path\\\\to weird..

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2017-05-24 08:08 GMT
Find Nodes?
    Voting Booth?