next try

(not really trivial)

use warnings; use strict; use Data::Dump; my @AoA = ( [11,29, 10,25], [15,35, 11,29], [15,15, 11,21], [10,25, 11,21], [15,35, 21,39], [25,40, 21,39], [21,11, 25,10], [15,15, 21,11], [35,35, 29,39], [29,39, 25,40], [35,15, 29,11], [25,10, 29,11], [40,25, 39,29], [35,35, 39,29], [39,21, 40,25], [35,15, 39,21], ); $"=","; my %neighbor; for ( @AoA) { my ($a,$b)= ("@$_[0,1]", "@$_[2,3]") ; push @{$neighbor{$b}}, $a; push @{$neighbor{$a}}, $b; }; #dd \%neighbor; #--- init my $next; my @path; my ($last,$current)=("11,29","10,25"); # start push @path, $last, $current; delete $neighbor{$last}; while ( %neighbor) { my $a_neighbors = delete $neighbor{$current}; die "Data corrupt: $current has no more neighbors" unless $a_neighbo +rs; ($next) = grep { $_ ne $last } @$a_neighbors; ($last,$current)=($current,$next); push @path, $current ; } #dd \@path; my @flat= map { split ",", $_ } @path; print join ",", @flat;

output

11,29,10,25,11,21,15,15,21,11,25,10,29,11,35,15,39,21,40,25,39,29,35,3 +5,29,39,25,40,21,39,15,35,11,29

Cheers Rolf

( addicted to the Perl Programming Language)


In reply to Re^2: Combine line segments to form a single line by LanX
in thread Combine line segments to form a single line by bangor

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.