Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: For Loops and Reversing output

by chrism01 (Friar)
on Dec 13, 2006 at 05:49 UTC ( #589493=note: print w/replies, xml ) Need Help??

in reply to For Loops and Reversing output

I think people thought 'homework', as did I, because not being allowed to use 'reverse' sounds like a completely arbitrary restriction, typical of academic qns designed to force you to learn more about the lang.
Nothing wrong with that in that env, of course, but definitely unusual in real world.
I'm guessing that maybe the amt of data involved in the up-coming job is extremely large & using reverse would cause perf/mem issues? Maybe embedded code?

Replies are listed 'Best First'.
Re^2: For Loops and Reversing output
by ikegami (Pope) on Dec 13, 2006 at 06:31 UTC

    reverse sort uses no more memory than sort.

    I've showed earlier in this thread that reverse sort is just as fast as sort. That's because an optimization causes reverse sort to sort the list in the reverse order rather than sorting the list then reversing it. That also means that reverse sort uses no more memory than sort.

    However, reversing an already sorted list takes more time and memory than not reversing it.

    Based on a reply the OP made, I suspect he will be receiving the list already sorted in the reverse of the desired order. If that's the case, then reversing the list then iterating over it would take time and memory, while iterating over the list from end to start could avoid using time and memory.


    my @reversed = reverse @sorted; for my $i (0..$#reversed) { print $reversed[$i], "\n"; }


    for (my $i=$#sorted; $i>=0; $i--) { print $sorted[$i], "\n"; }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2017-03-25 01:04 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (310 votes). Check out past polls.