in reply to better union of sets algorithm?

This comes from a standard utility library I wrote for myself years ago. uniqStrings will work faster, but if your data contains references they will be broken. uniqValues will work even if your list contains references.

#_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ # Function: uniqStrings() # Author: Dave Mueller # Returns: @uniq # Parameters: @array # Description: Returns a unique list of all Strings found in @array # Note: references wil be broken . . . #_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ sub uniqStrings { my %temp = (); @temp{@_} = (); return keys %temp; } #_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ # Function: uniqValues() # Author: Dave Mueller # Returns: @uniq # Parameters: @array # Description: Returns a unique list of all values found in @array #_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ sub uniqValues { my %temp = (); @temp{@_} = (1 .. scalar(@_)); return map({$_[$_]} values %temp); }

A truely compassionate attitude towards other does not change, even if they behave negatively or hurt you

—His Holiness, The Dalai Lama

Replies are listed 'Best First'.
Re^2: better union of sets algorithm?
by perrin (Chancellor) on Mar 11, 2005 at 16:33 UTC
    Thanks, but that's the same as the one I quoted from perlfaq4.