Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Create unique array --the hard way!

by hdb (Prior)
on Mar 07, 2014 at 19:00 UTC ( #1077442=note: print w/replies, xml ) Need Help??

in reply to Create unique array --the hard way!

How about losing the duplicates while sorting? Here is the quicksort implementation from Rosetta Code:

sub quick_sort { my @a = @_; return @a if @a < 2; my $p = pop @a; quick_sort(grep $_ < $p, @a), $p, quick_sort(grep $_ >= $p, @a); } my @a = (4, 65, 2, -31, 0, 99, 83, 782, 1); @a = quick_sort @a; print "@a\n";

(This is for sorting numbers.) If you now replace >= with > so you get

quick_sort(grep $_ < $p, @a), $p, quick_sort(grep $_ > $p, @a);

you will get a sorted array without duplicates.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (14)
As of 2017-06-23 12:30 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (545 votes). Check out past polls.