Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: For Loops and Reversing output

by ikegami (Patriarch)
on Dec 13, 2006 at 06:31 UTC ( [id://589496]=note: print w/replies, xml ) Need Help??


in reply to Re: For Loops and Reversing output
in thread For Loops and Reversing output

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.

Compare

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

against

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://589496]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2024-03-28 14:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found