in reply to Re: Remove redundency from an array in thread Remove redundency from an array
The idea is sound. Depending on how many duplicates there are, it may end up more expensive (since you're sorting the entire array, instead of only the unique items). Also, the line @array = (sort shift @sorted) is really...odd. Why not just @array = shift @sorted? Additionally, I think instead of while (my $element = shift @sorted) { I would have just used for (@sorted){, unless there's a reason you really want to destroy the sorted version as you go.
Re^3: Remove redundency from an array
by lyklev (Pilgrim) on Sep 25, 2007 at 21:28 UTC
|
You are right, it should have been just
@array = (shift @sorted)
(the parentheses are to make it an array assignment).
If there are many duplicates it might be more efficient to first remove the duplicates before sorting. But there is no transforming the array into a hash and back.
I can't tell which is more efficient. My intention was to show a different approach. It shows again that there are many ways to do similar things. | [reply] [d/l] |
|