Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (11)
As of 2016-10-25 14:27 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (320 votes). Check out past polls.