Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Re: "Intelligent" array joining

by ngomong (Sexton)
on Feb 06, 2004 at 16:27 UTC ( [id://327122]=note: print w/replies, xml ) Need Help??


in reply to Re: "Intelligent" array joining
in thread "Intelligent" array joining

As a follow-up... I've noticed that any duplicates in a given array will mess up the topological sort. So, I just added a quick duplicate search:
use Graph::Directed; my @array1 = qw(dog rat rat mouse); my @array2 = qw(dog rat mouse bird); my @array3 = qw(cat rat fish mouse); my @elements; push(@elements, \@array1, \@array2, \@array3); my $graph = Graph::Directed->new; for (0..$#elements) { # Check for duplicate GUIDs in this set my %seen = (); my @dup = (); foreach my $item (@{$elements[$_]}) { if ($seen{$item}++) { push(@dup, $item); } } unless ($#dup == -1) { print "Duplicate elements: @dup"; exit; } # If all's well, add to the path $graph->add_path(@{$elements[$_]}); } my @elements_ordered = $graph->toposort; print "@elements_ordered\n";

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (6)
As of 2024-04-24 04:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found